楼主: 美帝马甲
跳转到指定楼层
上一主题 下一主题
收起左侧

[数组] 返回第二大的元素index

 
全局:
这题其实就是挖个坑,具体涉及的知识不是很多,需要多想一下
例如fizzbuzz 要先mod 15 再 mod 3 和 5, 只要是做题的逻辑缜密一些,就不会犯错误
回复

使用道具 举报

🔗
pipiTu 2021-8-27 23:11:22 来自APP | 只看该作者
全局:
新建一个array存元素val + index,然后Quickselect 求第二大元素 = O(n) for both time and space
回复

使用道具 举报

全局:
lc 1509是高频
回复

使用道具 举报

🔗
 楼主| 美帝马甲 2021-8-28 00:41:05 | 只看该作者
全局:
资深老鼠人 发表于 2021-8-27 07:00
为什么遍历一遍不是o(kn)而是o(n)呢?

因为我没用堆,只用2个变量和2个index处理
回复

使用道具 举报

全局:
不是黑楼主 这个题一遍做对不难的 Facebook这道题是期待你10min以内做完

top K算法也是对的 你这个是top2 时间是
O(N)没问题 只是需要再拿一个数据结构比如array处理下标

更简单就是维护 largest,second Largest,second largest index三个变量

补充内容 (2021-08-28 01:30 +08:00):
应该也需要维护largest index

评分

参与人数 1大米 +1 收起 理由
美帝马甲 + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

🔗
 楼主| 美帝马甲 2021-8-28 02:19:55 | 只看该作者
全局:
pipiTu 发表于 2021-8-27 08:11
新建一个array存元素val + index,然后Quickselect 求第二大元素 = O(n) for both time and space

quicksort能到O(n)? 应该是nlgn吧

评分

参与人数 1大米 +1 收起 理由
andyZZZzhao + 1 赞一个

查看全部评分

回复

使用道具 举报

全局:
美帝马甲 发表于 2021-08-27 02:48:55
说topk的人,思路不大对
这题的套路是用largest,second替换,遍历一次即可,时间复杂度是O(n)
2th 和3th都是这个思路
蛤,你可以怼回去说,已知k=2那logk就是O(1)
回复

使用道具 举报

全局:
sakuya9t 发表于 2021-08-27 11:20:03
蛤,你可以怼回去说,已知k=2那logk就是O(1)
严格来说不算top-k。一般top-k是找最大或最小的k个elements,而这里是找一个k-th最小或最大的element。一般用quick select可以做,但也要取决于要求的是average还是worst complexity。另外quick select的代码,如果不是熟记于心的话,短时间内想正确写出来也很有难度。

至于用多个variable来track的方法,实际complexity还是2N, 3N,… kN。当然因为k是constant,也可以简化成N。
回复

使用道具 举报

全局:
jason_pp_weng 发表于 2021-08-27 10:28:16
不是黑楼主 这个题一遍做对不难的 Facebook这道题是期待你10min以内做完

top K算法也是对的 你这个是top2 时间是
这个complexity实质是还是kN,k=2,因为每次你都要检查这两组variables。当要求的k比较大的时候用这种多个variable去记录的方法就不太有效了,generalized方法还是top-k。当然kN的complexity也就是N。
回复

使用道具 举报

全局:
faren753 发表于 2021-08-27 11:40:53
这个complexity实质是还是kN,k=2,因为每次你都要检查这两组variables。当要求的k比较大的时候用这种多个variable去记录的方法就不太有效了,generalized方法还是to
你说的是对的啊 但是和我说的也没矛盾啊

OP问O(N)的算法 这道题topK满足条件

OP又问走一次的算法,topK严格上说不是走一次的 因为要不停的对剩下的区间操作直到剩两个;所以我说的维护四个local var的方法

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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