社区
数据结构与算法
帖子详情
创新工场一道算法题
seqingzi
2011-09-16 09:33:27
条件:两组数目相同的石头,a1,a2,a3...an;b1,b2,b3...bn,其中a1 != a2 != a3 != ... != an,b1 != b2 != b3 != ... != bn;对于每一个ai ,均能找到一个bj满足 ai == bj.
问题:找到每一组对应的ai = bj.
目前只想到用快排,复杂度O(nlgn)
求更好的解法
...全文
221
12
打赏
收藏
创新工场一道算法题
条件:两组数目相同的石头,a1,a2,a3...an;b1,b2,b3...bn,其中a1 != a2 != a3 != ... != an,b1 != b2 != b3 != ... != bn;对于每一个ai ,均能找到一个bj满足 ai == bj. 问题:找到每一组对应的ai = bj. 目前只想到用快排,复杂度O(nlgn) 求更好的解法
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fairywell
2011-09-18
打赏
举报
回复
[Quote=引用 7 楼 seqingzi 的回复:]
怎么只有说排序的.
有没有从分治法方面想一个更好的.
[/Quote]
有戏~~ :)
seqingzi
2011-09-18
打赏
举报
回复
果然还是要学好数学...
[Quote=引用 8 楼 litaoye 的回复:]
lz不用多想了,既然是用天平,排序就可以了,可以用信息论求下界log(3,n!) = O(n*log(n))
引用 7 楼 seqingzi 的回复:
怎么只有说排序的.
有没有从分治法方面想一个更好的.
[/Quote]
绿色夹克衫
2011-09-18
打赏
举报
回复
lz不用多想了,既然是用天平,排序就可以了,可以用信息论求下界log(3,n!) = O(n*log(n))
[Quote=引用 7 楼 seqingzi 的回复:]
怎么只有说排序的.
有没有从分治法方面想一个更好的.
[/Quote]
tswwz
2011-09-18
打赏
举报
回复
上面是比较笨得方法时间复杂度是n2。
如果排序的话时间复杂度是nlogn。
tswwz
2011-09-18
打赏
举报
回复
用天平的话可以这样,先把a组所有石头和b组所有石头各放在天平两边。
按照题目给出的条件,这时候天平必然是平衡的。
这时从a组哪掉一个石头,那么天平就不平衡了,一个一个的尝试从b组哪掉一个石头,当天平平衡了说明从a组拿掉的石头和b组拿掉的石头重量是相同的。
重复上面的动作,就可以找出每一组ai==bj的石头了。
fairywell
2011-09-17
打赏
举报
回复
插入排序就可以了,复杂度不错的
桶排序呢?
seqingzi
2011-09-17
打赏
举报
回复
怎么只有说排序的.
有没有从分治法方面想一个更好的.
nkorange
2011-09-17
打赏
举报
回复
归并排序,n*logn。快速排序不能保证一定是n*logn。
如果天平有砝码的话,可以用桶排序。
seqingzi
2011-09-16
打赏
举报
回复
就算石头质量已知,基数排序也无法实现.基数排序要求数必须是整型或者字符型,实数无法实现.
icessl
2011-09-16
打赏
举报
回复
如果 a1,a2,...,an 和 b1,b2,...bn 均为正整数,且它们的最大值不大于n,则可以用"基数排序".
算法如下:
STEP1: 令 R=max(a1,a2,...,an} // 该步耗时 O(n)
STEP2: 开设数组 A[0..R],把它们清零 // 该步耗时 O(R), 又因 R<=n,所以该步耗时 O(n)
STEP3: for (i=1;i<=n;i++) A[ai]=i; // 该步耗时 O(n)
STEP4: 开设数组 B[0..R],把它们清零 // 该步耗时 O(n)
STEP5: for (i=1;i<=n;i++) B[bi]=i; // 该步耗时 O(n)
STEP6: for (i=0;i<=R;i++)
if (A[i]!=0 && B[i]!=0) 输出 A[i]和B[i] // 该步耗时 O(n)
所以,总耗时O(n)
seqingzi
2011-09-16
打赏
举报
回复
忘了说了,只能用天平比较.质量未知
lzc52151
2011-09-16
打赏
举报
回复
哈希。。。。。。
创新
工场
2014武汉站
一道
算法
题
创新
工场
2014笔试武汉站 声明:这是
创新
工场
2014武汉站的笔试
题
,是9月16晚考的,我也参加了,发挥不好没有拿到面试通知,极度伤心,但愈挫愈勇~
创新
工场
笔试小记(
创新
工厂
算法
笔试
题
)
创新
工场
几道笔试
题
,欢迎大家讨论。1 基本情况笔试
题
量很小,答
题
时间1个小时。 1道填空
题
,9道左右选择
题
,最后
一道
编程
题
。2 几个
题
目第一
题
: C代码 int f(int x) { int c = 0; while(x!=0) { x = x...
一道
创新
工场
面试
题
详解:共打了多少鱼?
一道
创新
工场
面试
题
详解:共打了多少鱼?
题
目: abcde五人打渔,打完睡觉,a先醒来,扔掉1条鱼,把剩下的均分成5分,拿一份走了;b再醒来,也扔掉1条,把剩下的均分成5份,拿一份走了;然后cde都按上面的方法...
创新
工场
招募
算法
、大数据、后端开发工程师啦~
创新
工场
人工智能工程院简介:
创新
工场
人工智能工程院由李开复博士亲自创办和领导,专门聚焦人工智能前沿科技的项目研发与孵化。在过去的20多年里,李开复博士成功创办过三个科学家与工程师的“黄埔军校”:微软...
进制转化
算法
(C++实现)——
创新
工场
笔试归来
<br /> 10月17号晚上参加了
创新
工场
的校园招聘笔试,
题
目很少,时间是一个小时。很多
题
目像是智力测验,想我这种反应慢的人实在是不适合参加
创新
工厂的考试。最后
一道
题
是
一道
编程
题
。我之前没写过类似的程序...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章