传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 2325|回复: 5
收起左侧

Uber 电面 4/27

[复制链接] |试试Instant~ |关注本帖
destinyomgwz 发表于 2016-4-29 09:36:33 | 显示全部楼层 |阅读模式

2016(4-6月) 码农类 硕士 实习@Uber - 内推 - 技术电面 |Pass其他

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

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

x
楼主其实已经拿到其他offer, 但是早前约了一个Uber电面然后完全忘记了...结果昨天接到电话一脸懵逼,满脑子想的怎么婉拒,但是又拉不下脸皮。偏偏又碰到一个热情的印度小哥,我各种显示不专业,但小哥就是不离不弃...我说我怎么记得面试不是今天,小哥说没事,我当时正赶final, 一下连链接都找不到,小哥说没事,我给你再发个...
言归正传, 题目其实还比较简单, 因为没准备也不知道地里有没有
给一个 words = ["a", "b", "c"], 一个 weights = [1, 2, 3] 然后写一个function按照对应的weight来生成 word
比如如果生成600次,a 大致出现100次,b 大致200次, c大致300次
做完之后他再让你生成n次再统计输出一下结果
. 鍥磋鎴戜滑@1point 3 acres

晚上神奇收到邮件说过了..然后早上赶紧发邮件withdraw了.... 1point3acres.com/bbs
. visit 1point3acres.com for more.
wangxinbo1123 发表于 2017-1-4 12:27:00 | 显示全部楼层
                • Method 1:
                        • Create an array, which contains the words. For example, if the input is words = ["a", "b", "c"],  weights = [1, 2, 3] , the array should arr = {"a", "b", "b", "c", "c", "c"};
                        • Generate a random number mod by the arr.size() as the index, return the word in that index.
                        • Time: O(1), Space: O(N), where N is the size of generated array. visit 1point3acres.com for more.
                • Method 2:
                        • calculate an array, where sums[i] is the sum of weights[0..i]. For the same example, sums = {1, 3, 6}.
                        • Generate a random number: index = rand() % sums.back() + 1, find the first element in sums that is larger or equal to index using binary search, say the element is sums[j]. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
                        • Return words[j], note that the index j is the same with sums[j].
Time: O(MlogM), Space: O(M), where M is the size of input arrays.
回复 支持 1 反对 0

使用道具 举报

tcomein2009 发表于 2016-5-1 07:31:26 | 显示全部楼层
麻烦楼主详细说说到底问什么。
是生成所有这几个字母组成的word吗?每个字母出现相应次数,遍历所有顺序?
回复 支持 反对

使用道具 举报

英伦十六世纪 发表于 2017-1-26 05:51:54 | 显示全部楼层
wangxinbo1123 发表于 2017-1-4 12:27. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
• Method 1:
                        • Create an array, which contains the words. For example, if the input ...

请问时间复杂度如果做到常数级别?
回复 支持 反对

使用道具 举报

wuqun597090371 发表于 5 天前 | 显示全部楼层
英伦十六世纪 发表于 2017-1-26 05:51
请问时间复杂度如果做到常数级别?

一次只返回一个字符,所以时间复杂度是1
回复 支持 反对

使用道具 举报

cuiyang36 发表于 5 天前 | 显示全部楼层
经典的转盘问题
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-26 13:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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