和男女朋友出去旅行及日常生活中如何平摊费用?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

锦晖律师事务所
12月16日
H1B讲座通知
科技公司如何
用数据分析驱动产品开发
Coupon code: best
深入浅出AB Test
从入门到精通
Coupon code: best
码农求职神器Triplebyte:
不用海投
内推多家公司面试
E轮2.5亿美元融资
K12教育独角兽一起作业诚聘
机器学习/数据统计/教育等职位
高效直聘+内推,70%面试率
AI帮你免费完善简历
直击全美十万个科技职位
查看: 1948|回复: 21
收起左侧

[找工就业] 请教一道国内面试算法题,很短,没做出来

[复制链接] |试试Instant~
我的人缘0
EddieStallworth 发表于 2017-10-28 21:21:40 | 显示全部楼层 |阅读模式
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (163)
 
 
5% (9)  踩

2018(7-9月)-[18]CS硕士+fresh grad 无实习/全职 - 内推|BayArea 码农类General其他@Googlefresh grad应届毕业生

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

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

x
国内面试题 没做出来...

给一个DNA序列 只包含ACGT四个字符
返回一个整数,这个整数是最短的没出现过的组合

比如 给一个字符串"ACGTAG" 返回2
因为A出现过 C出现过 G出现过 T出现过 所以返回1. 1point3acres
但是CA没出现过 这个就是最短的 长度2 所以返回2


补充内容 (2017-10-29 07:13):
有个地方错了

因为A出现过 C出现过 G出现过 T出现过 所以"不"返回1
但是CA没出现过 这个就是最短的 长度2 所以最终返回2

上一篇:Google onsite 時間請問該填什麼時候比較好
下一篇:报个Amazon summer实习no longer
我的人缘0
yanshuo619 发表于 2017-10-29 06:40:28 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  76% (181)
 
 
23% (56)  踩
要求只是返回长度 所以并不需要知道具体是哪个没出现。有了input长度直接可以算出来每个长度应该有多少组合,然后每个长度分别是一个set,遍历时 A就扔1级set,AC扔C进1级set,同时AC扔二级set,以此类推,要保存每一级长度set的前一个状态,最后从1级set往上看set的size,到哪级set比理论组合size少 就返回哪级就好了。理论上是n复杂度?
回复

使用道具 举报

我的人缘0
wdxh1 发表于 2017-10-28 21:35:19 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  91% (279)
 
 
8% (27)  踩
brute force 从长度2开始 生成所有的排列 看看是不是substring 如果都是 长度增加 继续 另外 如果不写code 可以用suffix tree 找一个depth最小 并且child数量小于4的node 就行
回复

使用道具 举报

我的人缘0
 楼主| EddieStallworth 发表于 2017-10-29 03:40:14 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (163)
 
 
5% (9)  踩
wdxh1 发表于 2017-10-28 21:35
brute force 从长度2开始 生成所有的排列 看看是不是substring 如果都是 长度增加 继续 另外 如果不写code  ...

对啊 我也是只会暴力解...
回复

使用道具 举报

我的人缘0
k1938slll 发表于 2017-10-29 05:03:44 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  60% (23)
 
 
39% (15)  踩
好难?! Google的题吗
回复

使用道具 举报

我的人缘0
fangdanzai 发表于 2017-10-29 05:10:27 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  92% (161)
 
 
8% (14)  踩
先把所有可能的组合存在hash里 然后用长度从1到length遍历?
回复

使用道具 举报

我的人缘0
a92921 发表于 2017-10-29 05:35:31 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  86% (93)
 
 
13% (15)  踩
我只能想到类似暴力解的,因为只有4个字母,所以每种length的排列组合数量你都可以直接算出来。
从最小length开始,对于某个length都新建一个hash set,用个sliding window把substring扔进set里,如果set的大小不等于你排列组合算出来的数量就直接返回当前length

补充内容 (2017-10-29 06:22):. 1point3acres
打错,不是某个,是每个
回复

使用道具 举报

我的人缘0
zzrdwj 发表于 2017-10-29 05:46:01 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  76% (195)
 
 
23% (59)  踩
A for 0, T for 1, C for 2, G for 3,. From 1point 3acres bbs
k tuples----->四进制数字
k=1
while(k){
取k-tuples转化为4进制,得到n-k+1长的数组
for (i=k位四进制的所有数){数组减去i,搜索是否存在0,不存在返回k}
k++
}



补充内容 (2017-10-29 05:53):
n=length(gene)
回复

使用道具 举报

头像被屏蔽
我的人缘0
wodexiaohao5 发表于 2017-10-29 06:17:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

With React+D3v4 you'll learn the basics of building fast data visualization components in about an hour.


回复

使用道具 举报

我的人缘0
yanshuo619 发表于 2017-10-29 06:44:46 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  76% (181)
 
 
23% (56)  踩
yanshuo619 发表于 2017-10-29 06:40
要求只是返回长度 所以并不需要知道具体是哪个没出现。有了input长度直接可以算出来每个长度应该有多少组合 ...

前面有一点会产生误会,理论组合size组合数字是根据有多少元素算出来,不是input string那个长度
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法 - 不要多加空格: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地留学网

GMT+8, 2018-12-16 14:13

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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