当前位置: 首页 > news >正文

day30 第八章 贪心算法 part04

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

先排序,再算重叠区间

class Solution:def findMinArrowShots(self, points: List[List[int]]) -> int:if len(points)==0:return 0points.sort(key=lambda x:x[0])result = 1for i in range(1, len(points)):if points[i][0] > points[i-1][1]:result += 1else:points[i][1] = min(points[i][1], points[i-1][1])return result

435. 无重叠区间

跟上一题一样

class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:# if len(intervals)==0:#     return 0intervals.sort(key = lambda x:x[0])result = 0for i in range(1, len(intervals)):if intervals[i][0] < intervals[i-1][1]:continueelse:result += 1intervals[i][1] = min(intervals[i][1], intervals[i-1][1])return result

763.划分字母区间

先准备一下每个字母的最大位置,以便后续继续计算。

class Solution:def partitionLabels(self, s: str) -> List[int]:# 求得字母的最远位置alphebet_dict = dict()for i in range(len(s)):alphebet_dict[s[i]] = i# 遍历,求得每一个片段内能容纳多少字母end = 0start = 0result = []for i in range(len(s)):end = max(end, alphebet_dict[s[i]])if end == i:result.append(end-start+1)start = i+1return result

相关文章:

  • 阳台光伏 “WiFi” 电表:开启智慧能源新纪元/出海欧标认证!
  • 2025高频面试算法总结篇【动态规划】
  • Spark-SQL核心编程:DataFrame、DataSet与RDD深度解析
  • leetcode:1351. 统计有序矩阵中的负数(python3解法)
  • SQL学习笔记-聚合查询
  • 16:00开始面试,16:08就出来了,问的问题有点变态。。。
  • 大数据学习栈记——MongoDB编程
  • 【Web三十一】K8S的常用命令
  • 设计模式-模板模式
  • Node.js 模块包的管理和使用是
  • Qt:解决MSVC编译器下qDebug输出中文乱码的问题
  • 中英文提示词对AI IDE编程能力影响有多大?
  • 三层交换机SVI功能(交换机虚拟接口)实现各个实训室电脑网络可互通,原本是独立局域网
  • MATLAB仿真多相滤波抽取与插值的频谱变化(可视化混叠和镜像)
  • TypeScript 进阶指南 - 使用泛型与keyof约束参数
  • spark简介和核心编程
  • spark-sql核心
  • 试一下阿里云新出的mcp服务
  • 鸿蒙动画与交互设计:ArkUI 3D变换与手势事件详解
  • 【字节跳动AI论文】Seaweed-7B:视频生成基础模型的高成本效益培训
  • 山东鄄城发生一起交通事故,造成4人死亡、2人受伤
  • 中美经贸中方牵头人、国务院副总理何立峰出席新闻发布会表示:中美达成重要共识,会谈取得实质性进展
  • 上海下周最高气温在30℃附近徘徊,夏天越来越近
  • 中拉论坛第四届部长级会议将举行,外交部介绍情况
  • 2025中国品牌日上海践行活动启动,将建设品牌生态交互平台
  • 欧洲史上最严重停电事故敲响警钟:能源转型如何保证电网稳定?