10月28,K神开课讲数据科学,你来吗?


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
Babeltime游戏工作室招工程师、美术和策划
Tubi TV招安卓、前端和机器学习工程师
把贵司招聘信息放这里
查看: 1677|回复: 22
收起左侧

发一个脸家最近的垫面

[复制链接] |试试Instant~ |关注本帖
moonyellow 发表于 2017-6-19 15:55:33 | 显示全部楼层 |阅读模式

2017(4-6月) 码农类 硕士 全职@Facebook - 网上海投 - 技术电面 |Other在职跳槽

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

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

x
利扣 伞寺期口丁的时候需要比较注意边界条件
可以参考这个相类似的解法:
https://stackoverflow.com/questions/20398799

本帖被以下淘专辑推荐:

 楼主| moonyellow 发表于 2017-6-21 02:21:18 | 显示全部楼层
smilingface117 发表于 2017-6-20 16:49
感觉是遍历一遍数组生成frequency map 再用min heap就可以得到结果了 时间复杂度 O(n + nlogk)
. more info on 1point3acres.com
这是一个OK的解法,遍历以后假设有m种频率,m<n and m>k
min heap的做法复杂度是 O(n) + O(m lgk)
partition 或者 quick select的做法是 O(n) + O(m)

后者貌似更好,前者写好也不会挂。
详解可以看这个stack overflow的帖子
回复 支持 1 反对 0

使用道具 举报

f1371342385 发表于 2017-6-20 13:50:15 | 显示全部楼层
347的话是top k用的是bucket sort,后面那个是类似于平面上最近的点吧
回复 支持 反对

使用道具 举报

immutable 发表于 2017-6-20 14:03:12 | 显示全部楼层
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!

想支持楼主,请点击帖子下方的"好苗""分享""收藏"键,酌情给楼主加大米(系统不扣你自己的分)。
积分不够看不了帖子,请参考论坛导航里的"帮助","新手提纲"里有攒积分指南

补充内容 (2017-6-20 14:03):
就一题啊?
回复 支持 反对

使用道具 举报

say543 发表于 2017-6-20 14:15:45 | 显示全部楼层
什么样的边界条件呢 楼主?
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-6-20 15:26:56 | 显示全部楼层
f1371342385 发表于 2017-6-20 13:50. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
347的话是top k用的是bucket sort,后面那个是类似于平面上最近的点吧

啊对了,element不是分布在1到N的区间,可以是任意值。
所以不能bucket sort。. more info on 1point3acres.com
stack overflow里这个partition是比较好的做法。
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-6-20 15:27:25 | 显示全部楼层
immutable 发表于 2017-6-20 14:03
一亩三分地严打"顶""好贴""收藏了"之类的垃圾回复帖!被警告三次,系统会自动封杀ID!. Waral 鍗氬鏈夋洿澶氭枃绔,

想支持楼主,请点 ...

是的是的~~~~~
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-6-20 15:32:10 | 显示全部楼层
say543 发表于 2017-6-20 14:15
. From 1point 3acres bbs什么样的边界条件呢 楼主?

比如说有重复频率的元素的时候,做partition或者put heap的时候怎么设定比较的规则,可以避免额外操作。
也可以讨论重复频率的元素怎么处理,输出所有大于等于top k频率的元素呢,还是只要取top k个就可以了。
回复 支持 反对

使用道具 举报

smilingface117 发表于 2017-6-20 16:49:02 | 显示全部楼层
感觉是遍历一遍数组生成frequency map 再用min heap就可以得到结果了 时间复杂度 O(n + nlogk)
回复 支持 反对

使用道具 举报

熟狗脸 发表于 2017-6-21 00:10:35 来自手机 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

33847682 发表于 2017-6-21 00:54:12 | 显示全部楼层
lz的意思是用quickselect嘛?
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-6-21 02:22:06 | 显示全部楼层
33847682 发表于 2017-6-21 00:54
lz的意思是用quickselect嘛?

嗯是可以的,不过是要对于频率的quick select。所以先要算出来。
回复 支持 反对

使用道具 举报

f1371342385 发表于 2017-6-21 09:58:27 | 显示全部楼层
moonyellow 发表于 2017-6-21 02:22
嗯是可以的,不过是要对于频率的quick select。所以先要算出来。
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
LZ的意思是对过后的频率的值来进行quickselect?这个办法不错
回复 支持 反对

使用道具 举报

smilingface117 发表于 2017-6-23 06:07:32 | 显示全部楼层
谢lz quick select时间的确更优 LZ拿到onsite了没
回复 支持 反对

使用道具 举报

joytostuffratio 发表于 2017-9-1 09:49:39 | 显示全部楼层
楼主请问一下,如果真的是跟利口原题一样的话,虽然element本身并不是1到n范围内的,但是出现的次数却肯定在1到maxCount之间的,而bucket也是根据出现次数来建立的,为什么不可以用一模一样的方法呢?
回复 支持 反对

使用道具 举报

knight0clk 发表于 2017-9-6 04:36:01 | 显示全部楼层
joytostuffratio 发表于 2017-9-1 09:49.鐣欏璁哄潧-涓浜-涓夊垎鍦
楼主请问一下,如果真的是跟利口原题一样的话,虽然element本身并不是1到n范围内的,但是出现的次数却肯定 ...

我估计楼主是把bucket sort搞错了。你应该说的是对的
回复 支持 反对

使用道具 举报

jigsaw_Becky 发表于 2017-9-7 03:34:07 | 显示全部楼层
joytostuffratio 发表于 2017-9-1 09:49. Waral 鍗氬鏈夋洿澶氭枃绔,
楼主请问一下,如果真的是跟利口原题一样的话,虽然element本身并不是1到n范围内的,但是出现的次数却肯定 ...

有道理。。。期待lz的回复。。。. 1point 3acres 璁哄潧
. 鍥磋鎴戜滑@1point 3 acres
leetcode bucket sort的解法:. visit 1point3acres.com for more.

https://discuss.leetcode.com/top ... olution-bucket-sort
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-9-7 15:44:32 | 显示全部楼层
jigsaw_Becky 发表于 2017-9-7 03:34
有道理。。。期待lz的回复。。。

leetcode bucket sort的解法:

哎呀不好意思我之前楼上的回复有点问题,就我理解bucket sort不是没法用,当然所有的排序算法都可以用来解决这个问题,只是bucket sort空间复杂度要高。.鏈枃鍘熷垱鑷1point3acres璁哄潧

假设总共的元素有n个,count结束以后频率数组有m个unsorted元素. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
那么这一步取top k from unsorted array of m element:

bucket sort 需要O(m)的空间复杂度,和O(m)的时间复杂度
heap sort   需要O(k)的空间复杂度 O(mlgK)的时间复杂度
partition     需要O(1)的空间复杂度  O(m)的时间复杂度

综上我觉得partition 和 heap sort应该最优一些。
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
PS: lz拿到了onsite
回复 支持 反对

使用道具 举报

jigsaw_Becky 发表于 2017-9-7 21:37:27 | 显示全部楼层
moonyellow 发表于 2017-9-7 15:44
哎呀不好意思我之前楼上的回复有点问题,就我理解bucket sort不是没法用,当然所有的排序算法都可以用来 ...

十分感谢lz的回复!!!祝onsite好运!!!
回复 支持 反对

使用道具 举报

 楼主| moonyellow 发表于 2017-9-7 22:57:59 | 显示全部楼层
jigsaw_Becky 发表于 2017-9-7 21:37
十分感谢lz的回复!!!祝onsite好运!!!

多谢多谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2017-9-20 15:52

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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