社区
数据结构与算法
帖子详情
创新工场一道算法题
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)
求更好的解法
...全文
270
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写文章
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武汉站笔试
题
中关于求正整数N开方的
算法
问
题
,包括二分法和牛顿迭代法两种方法的实现与应用,旨在提高读者的
算法
思维和解决问
题
的能力。
DFS深度优先搜索案例:马戏团叠罗汉
针对2012年
创新
工场
校园招聘中的
一道
算法
题
,如何通过生成有向图并采用深度优先搜索确定叠罗汉表演的最大层数。此问
题
要求下层演员的身高与体重必须大于上层演员。
创新
工厂面试经历
本文分享了一次在
创新
工厂的面试经历,包括与面试官深入交流项目经验、
算法
题
解答及移动操作系统观点等内容。
算法
题
3:二叉树度为0的结点个数(
创新
工场
笔试
题
)
博客给出
一道
二叉树相关
题
目,已知二叉树有10个度为2的结点和5个度为1的结点,要求计算度为0的结点个数,涉及二叉树和
算法
相关知识。
实习面试总结
本文分享了作者在25天内复习准备并通过四家互联网公司实习面试的经历,包括
创新
工场
的秘密团队、蓝汛、网易有道、美团网及百度LBS。
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章