合并区间-力扣56
本文最后更新于571 天前,其中的信息可能已经过时,如有错误请发送邮件到1986413837@qq.com

题目要求如下 简单来说就是让重合的区间合并起来

思路

1.将区间按左端start大小排列 方便操作

可以直接使用数组的sort方法 不过需要定义sort的比较函数

arr.sort((a,b)= > a[0] – b[0] ) 升序排列

2.设置prev区间和curr区间 判断这两个区间是否重合

因为已经按照区间左侧大小升序排列 判断区间是否重合时只需要考虑前后两个区间的情况 也就是比较前区间的右侧和当前区间的左侧

如果后者小于等于前者 说明需要合并 将前区间的右值置为这两个区间右值的最大值 而当前区间会被弃用(下一次循环后自动移动到下一个区间)

[1,6] [2,7] — >[1,7] [1,5] [2,4] — >[1,5]

如果后者大于前者 说明不需要合并 将前区间推入到已经准备好的数组里 并更新prev区间 最后会剩余一个prev区间未被推入 我们在循环结束后单独推入即可

最后代码贴在这里

(PS:JS写算法真挺爽的 感觉舒服多了 很直观)

继续加油!!!

Life's a struggle, I'll conquer it.
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇