一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 3548|回复: 8
收起左侧

twitter 电面两轮题目放松。

[复制链接] |试试Instant~ |关注本帖
aifer 发表于 2016-7-12 04:03:36 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Twitter - 网上海投 - 技术电面 |Failfresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
面的是full stack engineer。两轮都是国人小哥。昨天2轮结束的,已挂。第一轮是给你一个数n, 让你计算出从1-n的时候,(0-9)每个数出现的次数。答得磕磕绊绊,不过还是感谢国人小哥给我过了进入第二轮的机会。
第二轮是给一个sorted array,找出出现频率最高的那个数,如果多个的话,返回任意一个即可。楼主给了hashmap和遍历数组的解法。小哥问有没有average case 优于linear,worst case better or equal linear的solution。
我想了一个binary search的方法,遍历数组第i个元素的时候,在右半数组里做binary search找到第一个与a不同的index。我个人感觉这种方法在average case情况下可以优于Linear,因为可以跳过一些重复元素。如果是worst case,即全部是distinct number的时候,复杂度会达到nlogn。跟小哥讨论了半天,也不给个hint。最后时间比较紧,就把之前遍历的O(N)solution写了一下。

总结:电面不难,国人何苦难为国人。. 1point3acres.com/bbs


补充内容 (2016-7-12 04:03):. 1point 3acres 璁哄潧
第二天收到拒信。
wangxinbo1123 发表于 2017-2-3 15:50:10 | 显示全部楼层
                a. For a given number at i, check nums[i] == nums[i + maxLen], maxLen is the current highest frequency. If they are equal, calculate the range of the number, and renew the maxLen. Use binary search to find the range of a given number.
回复 支持 2 反对 0

使用道具 举报

Urumic 发表于 2016-7-12 04:43:01 | 显示全部楼层
他家都没有new grad职位。楼主直接投的是需要经验的职位吗?
回复 支持 反对

使用道具 举报

 楼主| aifer 发表于 2016-7-12 05:13:21 | 显示全部楼层
Urumic 发表于 2016-7-12 04:43
他家都没有new grad职位。楼主直接投的是需要经验的职位吗?

很早之前投的,后来联系我的。是fullstack position
回复 支持 反对

使用道具 举报

jamesyin 发表于 2016-7-12 08:32:33 | 显示全部楼层
第二题感觉你的思路是正确的啊,除了binary search应该没有更好的了。我觉得细节方面可以优化一下,比如在binary search之前先看看下一个数是否相同,如果不相同,就不要binary search了,这样最坏情况就是O(n),平均情况比O(n)要好

        public int highestFrequence(int[] nums){. visit 1point3acres.com for more.
                int len = 1;
                int left = 0;
                while(left < nums.length - 1){
                        if(nums[left] != nums[left + 1]){
                                left++;
                                continue;
                        }else{
                                int right = binarySearch(nums, left, nums.length - 1);
                                len = Math.max(right - left + 1, len);
                                left = right + 1;
                        }
                }
                return len;.鐣欏璁哄潧-涓浜-涓夊垎鍦
        }
        . Waral 鍗氬鏈夋洿澶氭枃绔,
        public int binarySearch(int[] nums, int lo, int hi){
                if(lo == hi){
                        return lo;
                }
                if(lo + 1 == hi){
                        return nums[lo] == nums[hi] ? hi : lo;
                }
                int target = nums[lo];
                while(lo + 1 < hi){
                        int mid = lo + (hi - lo) / 2;. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                        if(nums[mid] > target){
                                hi = mid;
                        }else{.1point3acres缃
                                lo = mid;
                        }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                }
                if(nums[hi] == target){
                        return hi; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
                }else{
                        return lo;
                }
        }
回复 支持 反对

使用道具 举报

say543 发表于 2016-8-21 14:15:22 | 显示全部楼层
jamesyin 发表于 2016-7-12 08:32
第二题感觉你的思路是正确的啊,除了binary search应该没有更好的了。我觉得细节方面可以优化一下,比如在b ...
-google 1point3acres

upeer bound 不是1*logn + 1*logn-1...... log1 = o(nlogn)?
回复 支持 反对

使用道具 举报

codemonk 发表于 2017-9-1 13:14:53 | 显示全部楼层
say543 发表于 2016-8-21 14:15
upeer bound 不是1*logn + 1*logn-1...... log1 = o(nlogn)?
.鐣欏璁哄潧-涓浜-涓夊垎鍦
第二题upper bound 我觉得是对应这种case {1,2,2,3,3,3,4,4,4,4,...},时间是 log(N-1) + log(N-3) + log(N-6) + log(N-10) + log(N-15) + ...  = O(N log N) ? 不知道这个对不对,坐等大神解答。
回复 支持 反对

使用道具 举报

一次就好 发表于 2017-9-24 14:34:17 | 显示全部楼层
这二题我有点想法,iterate每个数时,维护一个max,遍历到一个新数nums[i]时,直接看nums[i + max]是不是还是这个数,如果是就继续向后找,然后update这个max,如果不是这个数了,就用二分找到nums[i]这个数的结束位置,继续iterate。这个二分的start = i, end = i + max - 1。 不知道这么想会不会快一点。
回复 支持 反对

使用道具 举报

lingyuan811 发表于 2017-10-18 07:59:45 | 显示全部楼层
想问下,这个第二题不是应该用2pointers做吗, 不是O(N)吗。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-12-14 06:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表