• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-05-13)  阿里巴巴 |   1 条评论  13 
    文章评分 0 次,平均分 0.0

    提前到达教室,拿到卷子一看,傻眼了!尼玛,好吧,估计又是酱油了!阿里的题目确实比腾讯难多了,怪不得当时听阿里宣讲会的时候,一个“码神”说过30分就会给面试机会。阿里考概率的题目比较多,看来阿里很看重概率方面的知识。不过有一个选择题知道怎么做,结果在开3次方的时候开错了,尼玛!能不能不要这么悲剧啊。反正好多题目都不会啊,什么“数星星”、“明星群众”都不懂啊,最后一个算法题,更是一点思路都没有。前面的所有题目,研发、测试开发、算法工程师都是一样的。测试类的最后还有一个附加测试题目,随便写了一点。下面说一下那个“数星星”问题。

    题意:A和B,晚上闲来无事,开始数星星(我看到题目的时候就在想,他俩一定是闲的蛋疼。没事,你打局游戏啊;没事,你看个电影啊;没事,你数什么星星啊),每次只能数k个,20<=k<=30,A先数,谁数完最后一组谁获胜,问星星总数为4个选项中哪一个的时候,A必胜。(我觉的这个题最后应该补充一句:最后一组可以小于20) 思路:A第一次数20-30之间,为了让自己胜利,他最后留给B的星星数为31-50(也就是当剩下31-50颗星星时,无论B怎么数,A一定取胜,)并且从第二次开始,A数的星星个数为50-B数的星星个数。当这两个条件同时满足时,A一定取胜。 至于为什么是50,现给出解释:如果是49,则当B数30个时,留给A的是19,不满足条件;当是51,则当B数20个时候,留给A的是31,不满足条件;只有当是50时,无论B怎么数,留给A的都符合条件。此题的关键就是找出这个50。当明白了以上几点的话,下面写出大体公式 星星总数:20~30+50*k+31~50(也就是总数除以50的余数得同时满足开始条件20~30和结束条件31~50) 以第一个选项2013为例,2013%50=13,这个时候得向高位借50,即2013/50=39,2013%50=63.接下来验证63是否满足开始条件和结束条件。63-(20~30)都落在31~50之间,满足条件。(貌似这个题只有选项2013满足) 下面举个反例2888,2888%50=38(38向不向高位借50都不满足,如果借50则余数为88),验证38或88不同时满足初始条件和结束条件。

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1200.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享