2024-01-03 无重叠区间

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.hqwc.cn/news/337629.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于JAVA+SpringBoot的高校学术报告系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 智慧高校学术报告系统…

系统添加深色模式实现方案

业务需求,夜间看系统太刺眼,要求添加夜间模式 效果如下: 依赖如下: 参考了官方解决方案,尝试后没有有效的解决. 官方解决方案 后续打算换框架,发现antdesign pro vue版本的暗黑模式禁用了. ant design pro 预览地址 思路: 引入andesign 暗黑模式的样式 , 手动修改自定义类…

VLAN原理与配置

0x00 前言 本节主要记录VLAN相关的内容。 传统以太网的缺点 广播域越大&#xff0c;产生的网络安全问题&#xff0c;垃圾流量问题越严重。 什么是VLAN&#xff1f; Virtual Local Area NetWork 虚拟局域网技术。 VLAN的特点是什么 一个VLAN就是一个广播域&#xff0c;在…

AWS CodeCommit创建git库

问题 在AWS云国际站上面使用CodeCommit服务创建git代码库。这里假设本地已经安装好git&#xff0c;ssh等工具&#xff0c;并且本地已经创建好相关公私钥文件&#xff0c;熟悉git和ssh通用配置文件&#xff0c;这里不会介绍windows和pc上面的ssh和git配置文件差异&#xff0c;需…

RocketMQ 消费重试

消费者出现异常&#xff0c;消费某条消息失败时&#xff0c; Apache RocketMQ 会根据消费重试策略重新投递该消息进行故障恢复。本文介绍消费重试机制的原理、版本兼容性和使用建议。 一、应用场景​ Apache RocketMQ 的消费重试主要解决的是业务处理逻辑失败导致的消费完整性…

内裤洗衣机有用吗?五款小型洗衣机全自动推荐

随着内衣洗衣机的流行&#xff0c;很多小伙伴在纠结该不该入手一款内衣洗衣机&#xff0c;专门来洗一些贴身衣物&#xff0c;答案是非常有必要的&#xff0c;因为我们现在市面上的大型洗衣机只能做清洁&#xff0c;无法对我们的贴身衣物进行一个高强度的清洁&#xff0c;而小小…

ubuntu查看内存使用情况命令

命令简介 在Ubuntu系统中&#xff0c;可以使用终端命令来查看电脑的内存使用情况。打开终端并输入以下命令&#xff1a; free -h 该命令可用于查看系统中内存的总量、已使用的内存、空闲的内存及缓冲区使用的内存。其中“-h”选项用于以人类可读的格式显示内存大小。执行该命…

Java BIO、NIO(通信/群聊系统、零拷贝)、AIO

Java BIO、NIO(通信/群聊系统、零拷贝)、AIO BIO、NIO、AIO特点和场景 BIO&#xff08;Blocking I/O&#xff09;、NIO&#xff08;Non-blocking I/O&#xff09;、AIO&#xff08;Asynchronous I/O&#xff09;是Java中用于处理I/O操作的三种不同的I/O模型&#xff0c;它们具…

云卷云舒:kubernetes简介

Kubernetes是由google公司在2014年发布的一款开源的容器编排引擎&#xff0c;用于容器化应用程序的自动化部署、扩展与管理。它能够编排多种容器任务&#xff0c;涵盖虚拟机集群管理、负载均衡以及网络流量分配等等。2017年&#xff0c;aws、微软云、阿里云等等著名的云计算公司…

Page 251~254 Win32 GUI项目

win32_gui 源代码&#xff1a; #if defined(UNICODE) && !defined(_UNICODE)#define _UNICODE #elif defined(_UNICODE) && !defined(UNICODE)#define UNICODE #endif#include <tchar.h> #include <windows.h>/* Declare Windows procedure */…

多链混沌:Layer2 格局演变与跨链流动性的新探索

点击查看原文&#xff1a;多链混沌&#xff1a;Layer2 格局演变与跨链流动性的新探索 如今的 Crypto 是一个由多链构成的混沌世界。曾经&#xff0c;以太坊聚集了加密世界绝大多数的流动性与 DeFi 应用&#xff0c;但现在其 TVL 占比已经降到 60% 以下&#xff0c;并仍处于下降…

多通道叠加显示图片(基于PIL)

前言 对于图像分割的任务&#xff0c;往往将原图与目标分割图像叠加显示会得到一张很好的mask示意图&#xff0c;本篇博客就跟大家分享一下如何在python中叠加显示多张图片 任务描述 叠加显示下面两张图片&#xff0c;他们的像素都是&#xff0c;区别是左边的是三通道彩色图…