当前位置: 首页 > 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

http://www.dtcms.com/a/133419.html

相关文章:

  • 阳台光伏 “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:视频生成基础模型的高成本效益培训
  • 栈与队列习题分享(精写)
  • chrome无法访问此网站怎么回事 分享5种解决方法
  • 模拟集成电路设计与仿真 : PLL
  • CentOS DVD完整版与Minimal版的区别
  • 筛选条件在on和where中的区别(基于hivesql)
  • 数据结构·树
  • Upwork全球化战略:用“文化套利”收割国际客户
  • Spark-SQL核心编程
  • 无人机气动-结构耦合技术要点与难点
  • API:科技赋能,引领智能文字识别、身份认证与发票查验真伪变革