再记录-面试题-腾讯云

昨天的两轮面试:

虽然最终加班谈崩了  遇到的一个算法题还是挺有意思的

一个有10w数的数组n  其中某个数字m出现次数达到数组长度的一半以上 求该数字

 

 

我的第一个思路是用哈希表存储 value为访问次数 

面试官说空间太大

第二个思路是排序取中间值 

面试官说时间太长

 

我就。。。挺难的

 

最后面试完问了下他的思路  面试官讲  一遍遍历  额外空间为2   起始值为a=(n(0),0)a(0)初始化为数组第一个数字   遍历时如果下一个数字等于a(0)  --> a(1)++  否则 a(1)--  当a(1)<0时将a(0)换成下一个数字

则 遍历结束  a(0)为m

posted @ 2020-11-20 11:19  奇异与欢愉  阅读(203)  评论(0编辑  收藏  举报