一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 770|回复: 3
收起左侧

[算法题] 排序好的数组中找第一个重合点

[复制链接] |试试Instant~ |关注本帖
一回头的温柔 发表于 2016-3-4 16:55:27 | 显示全部楼层 |阅读模式

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

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

x
3. 火星上有1百万个sensor,每个sensor独立工作,某个sensor检测到一个事件后会返回地球一个时间戳,对于同一个sensor来说是按照时间顺序返回的,但每个sensor之间不是同步工作的。如果所有sensor都在同一个时间戳有反馈,则叫做有趣的事件。求最早的有趣事件。(g家面试题)
这一题就是在排序好的数组中找第一个重合点,求问好一点的算法是什么?
ccarter 发表于 2016-3-5 01:06:30 | 显示全部楼层
不知道我是不是没理解题意……大概就是
for (int i=0; i<n; i+=500000)
   if (arr[i] == arr[i+500000])
      Binary Search....
用二分查找找到这个数的起始点和终止点,判断这个区间长度是不是1000000就行了,总复杂度应该是O((NlgN)/500000)
回复 支持 反对

使用道具 举报

lzb940214 发表于 2016-3-5 14:49:48 | 显示全部楼层
设有m个sensor,每个sensor有n个观测,我能想到一个O(nm)的算法,不知道算不算好?
回复 支持 反对

使用道具 举报

此用户无名 发表于 2016-5-1 06:18:15 | 显示全部楼层
lzb940214 发表于 2016-3-5 01:49
设有m个sensor,每个sensor有n个观测,我能想到一个O(nm)的算法,不知道算不算好?

具体想到的是什么算法啊,能分享一下不?多谢啦
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-3 21:49

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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