查看: 3670| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[二分/排序/搜索] 分享merge sort妙用的两题

全局:

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
lc315: https://leetcode.com/problems/co ... numbers-after-self/
lc406: https://leetcode.com/problems/queue-reconstruction-by-height/
这两题均可以用merge sort来实现最优解,虽然真的挺难理解的。主要是在merge sort的merge过程中对于左边array中的的每个元素,有多少个右边array的元素比左边那个元素小,然后可以形象的把右边元素放入result array的过程看成右边小的元素跳跃到左边元素之前,然后根据多少个元素跳过左边的元素来解题。315帖子里有更多关于这个解法的讨论,406这个解法就显得更隐晦了。

上一篇:找在职跳槽模面队友!
下一篇:求助一道搜索题
推荐
zhang3x7 2020-4-25 05:42:19 | 只看该作者
全局:
全都是数组中求inversion的变种 本质上是利用merge two sorted array的时候 两个array的指针指向较大那个元素的会停下来等指向较小的那个 从等待的时间就可以计算inversion的数量 merge sort本身只不过是它的结构保证这个比较能traversal整个数组而已

这其实算不上妙用 什么算法课讲到divide and conquer, inversion几乎都是必讲的。
回复

使用道具 举报

🔗
LeeYYY 2020-4-25 01:34:19 | 只看该作者
本楼:
全局:
一通百通
回复

使用道具 举报

🔗
593965536 2020-4-25 02:37:50 | 只看该作者
全局:
求数组中逆序对也是merge sort好题,英文leetcode好像没有,国服有这道题。
回复

使用道具 举报

🔗
zhang3x7 2020-4-25 05:51:45 | 只看该作者
全局:
593965536 发表于 2020-4-25 02:37
求数组中逆序对也是merge sort好题,英文leetcode好像没有,国服有这道题。

有的 leetcode 315就是逆序对 不过是让你求逆序对的数量
回复

使用道具 举报

🔗
 楼主| gatechkc 2020-4-25 06:55:37 | 只看该作者
全局:
zhang3x7 发表于 2020-4-25 05:42
全都是数组中求inversion的变种 本质上是利用merge two sorted array的时候 两个array的指针指向较大那个元 ...

这样,怪以前算法课没学透
回复

使用道具 举报

🔗
katty2018 2020-4-26 02:14:20 | 只看该作者
全局:
593965536 发表于 2020-4-25 02:37
求数组中逆序对也是merge sort好题,英文leetcode好像没有,国服有这道题。

315 就是逆序数的近亲。
回复

使用道具 举报

🔗
克洛伊家 2020-4-26 23:37:03 | 只看该作者
全局:
本帖最后由 克洛伊家 于 2020-4-26 23:39 编辑

https://zh.wikipedia.org/wiki/%E9%80%86%E5%BA%8F%E5%AF%B9
回复

使用道具 举报

🔗
波风水门 2020-4-28 06:03:08 | 只看该作者
全局:
本质上这些都是 divide and conquer
回复

使用道具 举报

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

本版积分规则

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