面试题:如何 O(n) 的复杂度内筛选 60 亿人的身高

查看 684|回复 81
Daredevil0086
OP
  
@edward1987 #8
@raycool #13 这是 O(nlogk) 吧
UnknoownUser   
兄弟们,面试官好像想考察的是怎么用身高做文章,我最终交上去的答案是 7 楼贴的 leetcode 题目的快排版本答案;
感觉这题,好像跟算法没关系~~~~属于动脑子的那种
UnknoownUser   
// (3-1.9)/0.05=22
int counter[22];
xuanbg   
@UnknoownUser 时间复杂度为 O(n)就只能每个数据都访问一次咯,大致猜测一下前 1000 高的人类应该在 1.9-3.0m 之间,所以遍历一次用计数器把它们都记录下来
FACEB00K   
6 楼正解
tuxz   
@codingbody
@picone k 不是一个常数吗,这里是 1000
icyalala   
线性直方图
picone   
"前 1000 高的数据" 要去重吗?
lymanlai   
@FACEB00K #24 其实是 n 次 大小为 1000 的堆插入,应该是 n * log2(1000)
mxT52CRuqR6o5   
感觉在写回字的几种写法。。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部