阿里巴巴(中国)网络技术有限公司 认领
计算机/互联网/通信/电子 深圳 500人以上 外资(欧美)
求一个整数转化为二进制后1的个数
第一题,求一个整数转化为二进制后1的个数。这不编程之美原题么。。 <br>直接答n&(n-1)的做法,面试官看了看,觉得这个方法有问题。。。 <br>我说了下原理,举了几个例子。然后就没了 <br><br>第二题,判断两个字符串是否相似,相似的定义是由相同的字符组成的,比如abc和acb、bca等等是相似的。 <br>说了下基于哈希表的方法,面试官说“不能开辟多余空间”。我又说可以排个序,然后挨个比较,面试官说“这样时间复杂度也上去了”。 <br>面试官:我这个判断相似的函数要运行很多次,可能好几亿次。而且我这个字符串可能特别长。 <br>我:既然要运行这么多次,那开辟空间用哈希表不挺好么。。 <br>面试官:我也不清楚有没有更优的方法,但可以设定一些条件,类似于矩阵的一阶矩、二阶矩,然后判断这两个字符串是否满足这些条件 <br>…… <br><br>然后,外面有人送盒饭进来,开始吃饭。 <br>吃饭时聊了聊。面试官说了好几次:怎么笔试的主观题没怎么得分啊 <br>吃完继续第三题。 <br><br>第三题,写组合数:从{1,2,3,4,5}中选3个数,输出所有组合。然后扩展到从n个数中选m个数 <br>必须写非递归。跪了,折腾半天没搞出来。
正在加载验证码...
阿里巴巴(中国)网络技术有限公司测试面试经验&面试问题
面试问题
求一个整数转化为二进制后1的个数
面试过程
第一题,求一个整数转化为二进制后1的个数。这不编程之美原题么。。 <br>直接答n&(n-1)的做法,面试官看了看,觉得这个方法有问题。。。 <br>我说了下原理,举了几个例子。然后就没了 <br><br>第二题,判断两个字符串是否相似,相似的定义是由相同的字符组成的,比如abc和acb、bca等等是相似的。 <br>说了下基于哈希表的方法,面试官说“不能开辟多余空间”。我又说可以排个序,然后挨个比较,面试官说“这样时间复杂度也上去了”。 <br>面试官:我这个判断相似的函数要运行很多次,可能好几亿次。而且我这个字符串可能特别长。 <br>我:既然要运行这么多次,那开辟空间用哈希表不挺好么。。 <br>面试官:我也不清楚有没有更优的方法,但可以设定一些条件,类似于矩阵的一阶矩、二阶矩,然后判断这两个字符串是否满足这些条件 <br>…… <br><br>然后,外面有人送盒饭进来,开始吃饭。 <br>吃饭时聊了聊。面试官说了好几次:怎么笔试的主观题没怎么得分啊 <br>吃完继续第三题。 <br><br>第三题,写组合数:从{1,2,3,4,5}中选3个数,输出所有组合。然后扩展到从n个数中选m个数 <br>必须写非递归。跪了,折腾半天没搞出来。