4.7 阿里笔试(算法岗)6单项 6不定选 3编程题 1.5h

单选题

  1. 假定45%女性和15%男性会消费,某人消费了,问这人时男的概率是多少,设男女比例1:4?

  2. 看代码,填写判断条件

  3. A箱子中有10个红球,10个白球,B中有10个红球。一次性从A中抽10个球放入B中,然后从B中抽出一个白球的概率?

  4. 假设“tingting”可以代表“tingting”也可以代表“gkd”,比如‘tingtingting’有如下几种含义,‘tingtingting’,‘tinggkd’,‘gkdting’。那么连续416个'ting'有x个含义,x mod 10 = ?

  5. 貌似又是一道和第2题目一样的填写代码块的题目

  6. 心态已炸,不记得了

不定项选择题,少选的1/3分,选错没有分数

多数问了关于机器学习的基本知识,如以下哪些模型可以做到零训练误差,添加正则化的方法,那些是判别式模型,还有一道也是概率论的题目,还有一道忘记了。

概率论那题:有20张牌,上面的数字分别是1-5.各四张;不小心掉落了10张牌,请问这10张牌中正好是每个数字有两张的概率是多少? 答案给的是范围p<1 是明显的答案其他就不确定了

编程题

进制转换

给定一个数n(字符形式),它可能是2-16进制,请所有可能的进制转换成10进制,并分别输出与10e9+7的mod。 n保证只有‘0’-‘9’ 和大写的‘A’-‘F’

例子:

输入:

11 

输出:(分别将11看作是是2-16进制后转换成10进制……)

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

输入: FF

输出:255 (只可能是16进制)

忘记怎么无极进制转换了,最后就蹭了一点分数

编程题2

有n个正整数ai (1<=n,ai<=100000)有两种操作可选:1.删除两个相同的数,田间两数之和;2。删除两个数,添加两数中最大的数。已知n-1次操作后,剩下一个数,问其最大值

思路:75% 超时

  1. 维护一个哈希表,先将所有重复的数字全部按照操作1合并,注意(2,2,4,7)第一次合并后变成(4,4,7)还可能有新的重复的数。
  2. 等全部的重复数字合并后,输出哈希表键的最大值就是结果

但是由于第一步的问题,超时了,也许可以通过python collection中Counter快速实现,但是我用的是基本dict,所有操作就是自己判断的,如果值变成了0还要手动删除

小红的战争期盼

n x m的矩阵 ,上面有k支句对,每回合选任一军队,进行‘上下左右’中的一种行动,有如下几种情况:1.如果到了没有人占领的地方,移动成功,占领该地区;2.如果超出边界,移动失败,保持原地不懂;3.如果到了自己原本的领地,移动成功;4.如果移动到了别人的领地,需要判断谁的领地大,大的一方获胜,败者清除出去棋盘,所有领地归胜者所有,万一领地大小相同,用ASCII值判定两者名字大小。

输入:棋盘大小,初始军队名称和位置,若干条移动指令

输出:每条指令的输出结果,(包括移动是否成功,遇到谁,是否获胜等,具体不重要)

思路:

  1. 用k个整数代表k支军队,他们所到之处用对应数字表示,0代表无主之地;
  2. 每走一步更新领地变化,然后根据4种情况分别些相应的功能;

一道思路较为清晰的模拟题,但是前面选择题花了太久,到这里只剩下5min左右了,所以功能没有实现。

全部评论

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务