楼主: mwsak47
跳转到指定楼层
上一主题 下一主题
收起左侧

Google 新鲜面筋

🔗
liurudahai 2016-10-4 00:48:28 | 只看该作者
全局:
tianlu1 发表于 2016-2-24 03:38
第一题O(n) non-sort解法:
keep four pointers: maximum_positive, second_max_positive, minimum_negati ...

两个数当然是这样了。。。楼主应该问的是K个数有没有比SORT更好的方法
回复

使用道具 举报

🔗
liurudahai 2016-10-4 00:49:44 | 只看该作者
全局:
googlerr 发表于 2016-2-26 11:45
应该是Queue里面只放K个元素,一个里面放最大的K个,另一个里面放最小的K个

priority queue?,两个priority queue,每次分别从两个HEAP里POP出两个,取最大乘积,一直到K个为止,如果K是奇数,最后那个只能取正的里面的,偶数就无所谓了
回复

使用道具 举报

🔗
liurudahai 2016-10-4 00:56:14 | 只看该作者
全局:
royal_916 发表于 2016-2-18 06:17
感觉第二题略难啊!祝lz onsite!

第二题是LC原题吧
回复

使用道具 举报

🔗
liurudahai 2016-10-4 01:02:18 | 只看该作者
全局:
sheepmiemies 发表于 2016-4-1 02:17
最大堆放负数那先取出来的岂不是-1,-2之类的绝对值小的数啊。。。。感觉这类题还是挺需要考虑全面的,比 ...

这里面有个矛盾其实,就是在更新的时候我们希望负数最大的先被POP出来,正数最小的先被POP出来,这样的话,我们就想负数用最大堆,正数用最小堆,但是最后在算乘积的时候就相反,这个矛盾感觉无法调和,我们最后在算乘积的时候另外用一个数据结构,比如LIST把堆里的数全部装起来,然后再算
回复

使用道具 举报

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

本版积分规则

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