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.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-28 12:15
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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