2024-01-03 无重叠区间

news/2025/2/12 21:29:56/

435. 无重叠区间

思路:和最少数量引爆气球的箭的思路基本都是一致了!贪心就是比较左边的值是否大于下一个右边的值

img

class Solution:def eraseOverlapIntervals(self, points: List[List[int]]) -> int:points.sort(key=lambda x: (x[0], x[1]))# 比较边界res = points[0][1]count = 0for i in range(1, len(points)):if points[i][0] < res:res = min(res, points[i][1])count += 1else:res = points[i][1]return count

763. 划分字母区间

贪心思路:第一个字母最后出现的位置的过程中其他字母也出现的最后位置的最大值,就是一次划分区域了!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

763.划分字母区间

class Solution:def partitionLabels(self, s: str) -> List[int]:# 字母出现次数?# 每一次字母最后出现的位置以及mm = {}for i in range(len(s)):mm[s[i]] = istart = 0max_temp = mm[s[0]]res = []for i in range(len(s)):if max_temp == i:res.append(max_temp - start + 1)start = i + 1if i + 1 < len(s):max_temp = mm[s[i + 1]]elif mm[s[i]] > max_temp:max_temp = mm[s[i]]return resclass Solution:def partitionLabels(self, s: str) -> List[int]:last_occurrence = {}  # 存储每个字符最后出现的位置for i, ch in enumerate(s):last_occurrence[ch] = iresult = []start = 0end = 0for i, ch in enumerate(s):end = max(end, last_occurrence[ch])  # 找到当前字符出现的最远位置if i == end:  # 如果当前位置是最远位置,表示可以分割出一个区间result.append(end - start + 1)start = i + 1return result

56. 合并区间

思路:就是如果区间的重叠的哇,就去重叠区间之间的最小值和最大值!关键还是拆分排序

在这里插入图片描述

class Solution:def merge(self, intervals: List[List[int]]) -> List[List[int]]:res = []intervals.sort(key=lambda x :(x[0], x[1]))index = 0max_broad = intervals[0][1]for i in range(1, len(intervals)):if intervals[i][0] <= max_broad:intervals[index][0] = min(intervals[index][0], intervals[i][0])intervals[index][1] = max(intervals[index][1], intervals[i][1])max_broad = intervals[index][1]else:res.append(intervals[index])index = imax_broad = intervals[i][1]if intervals[index] not in res:res.append(intervals[index])return res

http://www.ppmy.cn/news/1299160.html

相关文章

以数据资产入表为抓手,推动数据资产化

在数字化时代&#xff0c;数据已经成为企业的重要资产。数据资产化是将数据视为一种有价值的资产&#xff0c;对其进行有效管理和利用的过程。而数据资产入表则是将数据资产纳入财务报表&#xff0c;以反映其价值和对企业财务状况的影响。本文亿信华辰 将深入探讨数据资产化与数…

认证评价的方法

认证评价是对于个人或组织的能力、技能或知识的确认&#xff0c;通常用于确保质量、安全或合规性。以下是一些常用的认证评价方法&#xff1a; 资格审查 资格审查是认证评价的第一步&#xff0c;主要评估个人或组织是否具备参与认证的基本条件。例如&#xff0c;对于某些专业…

计算机网络专栏目录

1. http header 请求头 x-forwarded-for 2. HTTP/HTTPS、TLS/SSL 协议

ChatGPT4助力Python数据分析与可视化、人工智能建模及论文高效撰写

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

C++——map和set的基本使用

目录 一&#xff0c;关联式容器 二&#xff0c;键值对 三&#xff0c;set的使用 3.1 set介绍 3.2 set的插入和删除 3.3 set的pair 3.4 multiset 四&#xff0c;map的使用 4.1 map介绍 4.2 map实现简易字典 4.3 map实现统计次数 4.4 map的[] 五&#xff0c;使用map或…

CentOS本地部署SQL Server数据库无公网ip环境实现远程访问

文章目录 前言1.安装GeoServer2. windows 安装 cpolar3. 创建公网访问地址4. 公网访问Geo Servcer服务5. 固定公网HTTP地址 前言 GeoServer是OGC Web服务器规范的J2EE实现&#xff0c;利用GeoServer可以方便地发布地图数据&#xff0c;允许用户对要素数据进行更新、删除、插入…

如何批量自定义视频画面尺寸

在视频制作和编辑过程中&#xff0c;对于视频画面尺寸的调整是一项常见的需求。有时候&#xff0c;为了适应不同的播放平台或满足特定的展示需求&#xff0c;我们需要对视频尺寸进行批量调整。那么&#xff0c;如何实现批量自定义视频画面尺寸呢&#xff1f;本文将为您揭示这一…

数据库 补充 树,红黑树,b树,b+树

01.树 02.二叉树和二叉平衡树 03.平衡二叉树的恢复 将导致不平衡的结点称作被破坏者&#xff0c;破坏了结点的平衡的结点成为破坏者&#xff0c;经过调整可以让该树平衡的结点称为调整结点。 LL型&#xff1a; 以被破坏者的左孩子结点作为调整结点&#xff0c;对其进行右旋…