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 计入然后求出一个无重叠区间

全部评论

相关推荐

钱嘛数字而已:辅导员肯定不能同意,不然你出事了,他要承担责任。但是,脚和脑子都长在你自己身上,使用它还需要向辅导员报告么? 辅导员必须按流程拒绝你,然后你拿出成年人的态度,做自己的选择。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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