day30 | 贪心算法

终于到了重叠区间的部分,这部分我记得之前笔试的时候做到过,不过有些变形没做出来。看了下题解,看上去是之前的做法弄错了理解不对。 我是按照 star 和 end 进行了一个排序,实际上根据贪心直接根据前面进行排序就可以了,end 的部分可以手动维护一个有序的数列

452. 用最少数量的箭引爆气球

每次更新最短的 end 边界

if points[i-1][1]<points[i][0]:
  count+=1
else:
	points[i][1]=min(points[i][1],points[i-1][1])

435. 无重叠区间

if intervals[i-1][1]<=intervals[i][0]:
  continue
  # end 尽可能地小
intervals[i][1]=min(intervals[i][1],intervals[i-1][1])
count+=1

`同样,但是区分一下边界的情况和 count +1的情况

763.划分字母区间

可以记录每个字母的start和 end 计入然后求出一个无重叠区间

全部评论

相关推荐

10-29 15:51
嘉应学院 Java
后端转测开第一人:你把简历的学历改成北京交通大学 去海投1000份发现基本还是没面试
点赞 评论 收藏
分享
安静的鲸鱼offer...:神仙级别hr,可遇不可求,甚至他可能也是突然有感而发。只能说遇上是件幸事。
秋招开始捡漏了吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务