代码随想录刷题第三十六天| 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

代码随想录刷题第三十六天

无重叠区间 (LC 435)

题目思路:

在这里插入图片描述

代码实现:

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

划分字母区间 (LC 763)

题目思路:

这道题思路有点难想,如果能够想到使用position数组记录每个字母最后出现的位置后,题目及代码就比较好解了

在这里插入图片描述

代码实现:

class Solution:
    def partitionLabels(self, s: str) -> List[int]:
        res = []
        pos = [0 for _ in range(len(s))]
        storage = {}
        for i in range(len(s)-1, -1, -1):
            if s[i] not in storage.keys():
                pos[i] = i
                storage[s[i]] = i
            else:
                pos[i] = storage[s[i]]
        
        last = pos[0]
        start = 0
        for i in range(len(pos)):
            last = max(last, pos[i])
            if last == i:
                res.append(i-start+1)
                start = i+1

        return res

合并区间 (LC 56)

题目思路:

在这里插入图片描述

代码实现:

class Solution:
    def merge(self, intervals: List[List[int]]) -> List[List[int]]:
        intervals.sort(key=lambda x:x[0])

        left = intervals[0][0]
        right = intervals[0][1]
        result = []
        for i in range(1, len(intervals)):
            if intervals[i][0]<=right:
                right = max(right, intervals[i][1])
            else:
                result.append([left, right])
                left = intervals[i][0]
                right = intervals[i][1]
        result.append([left, right])

        return result

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/293813.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

拼题A 跨年挑战赛 2024 赛后提交入口 + 题目 + 题解

赛后也想提交&#xff1f;点击进入 拼题A教育超市 周三&#xff0c;搞学长&#xff1a;“小柳进前十了&#xff01;想要奖品过来拿&#xff01;” 等了好几天的比赛结果终于出来了&#xff0c;四年来的跨年挑战赛第一次做满分&#xff0c;第一次进前十&#xff01;&#xff0…

MyBatis学习二:Mapper代理开发、配置文件完成增删改查、注解开发

前言 公司要求没办法&#xff0c;前端也要了解一下后端知识&#xff0c;这里记录一下自己的学习 学习教程&#xff1a;黑马mybatis教程全套视频教程&#xff0c;2天Mybatis框架从入门到精通 文档&#xff1a; https://mybatis.net.cn/index.html Mapper代理开发 目的 解决…

【nginx】linux(centos版本)安装nginx

目录 一、下载安装包1.1 官网下载1.2 linux命令下载 二、安装2.1 安装依赖包2.2 安装nginx 三、启动四、访问五、关停六、重载配置 一、下载安装包 1.1 官网下载 1.官网地址 https://nginx.org/en/download.html2.版本说明 1.Mainline version-主线版本 2.Stable version-稳…

剪映业务的大前端实践:创新以用户需求为导向

近日&#xff0c;由51CTO主办的WOT全球技术创新大会2023深圳站成功举办&#xff0c;众多企业CTO、技术团队负责人在会场分享了优秀的技术实践。其中&#xff0c;剪映前端开发工程师赵培霏分享了主题为《剪映业务的大前端实践》的演讲。 近日&#xff0c;由51CTO主办的WOT全球技…

如何给6000微信好友打好标签? 快速操作技巧!

微信好友一多&#xff0c;管理起来就变得麻烦。要管理好好友&#xff0c;就必须要给好友打好标签。今天分享一个快速给微信好友打标签的方法。 一、微信电脑端给好友打标签的操作方法&#xff1a; 桌面端打标签速度是很快的&#xff0c;不仅仅是好操作&#xff0c;而且搜索功能…

Spark调优解析-GC调优3(七)

1 GC调优 Spark立足内存计算&#xff0c;常常需要在内存中存放大量数据&#xff0c;因此也更依赖JVM的垃圾回收机制。与此同时&#xff0c;它也兼容批处理和流式处理&#xff0c;对于程序吞吐量和延迟都有较高要求&#xff0c;因此GC参数的调优在Spark应用实践中显得尤为重要。…

2023 IoTDB Summit:清华大学软件学院长聘副教授龙明盛《IoTDB 新组件:内生机器学习》...

12 月 3 日&#xff0c;2023 IoTDB 用户大会在北京成功举行&#xff0c;收获强烈反响。本次峰会汇集了超 20 位大咖嘉宾带来工业互联网行业、技术、应用方向的精彩议题&#xff0c;多位学术泰斗、企业代表、开发者&#xff0c;深度分享了工业物联网时序数据库 IoTDB 的技术创新…

Starknet 开发实战训练营邀你挑战,1000 美元大奖等你赢取!

Starknet 免费公开课来啦&#xff01;&#x1f680; ZK L2 明星项目 Starknet 不久前透露其 STRK 空投计划引发了诸多关注&#xff0c;而全链游戏同样是今年 Web3 行业的热门领域之一&#xff0c;Starknet 便是全链游戏领域中的重要生态&#xff0c;开发者借助其链上游戏引擎 D…

【驱动序列】C#获取电脑硬件基本组合以及基础信息

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读《小5讲堂之知识点实践序列》文章。 这是2024年第7篇文章&#xff0c;此篇文章是C#知识点实践序列文章&#xff0c;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 要开发一款驱动小助手&…

Linux内存管理:(六)页交换算法

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 引言 在Linux操作系统中&#x…

企业数据治理的三个阶段:从起步到成熟的数据管理之旅

随着数字化时代的到来&#xff0c;企业数据已经成为企业的重要资产和驱动业务发展的重要力量。然而&#xff0c;要想充分利用数据的价值&#xff0c;企业需要对其数据进行有效的管理和治理。本文将对企业数据治理的三个阶段进行详细的探讨&#xff0c;以帮助企业了解其在数据治…

Zookeeper(持续更新)

VIP-01 Zookeeper特性与节点数据类型详解 文章目录 VIP-01 Zookeeper特性与节点数据类型详解正文1. 什么是Zookeeper&#xff1f;2. Zookeeper 核心概念2.1、 文件系统数据结构2.2、监听通知机制2.3、Zookeeper 经典的应用场景3.2. 使用命令行操作zookeeper 正文 什么是Zookee…

新品发布 | 思腾合力深思系列IW2235-2GR GPU服务器

思腾合力深思系列 IW2235-2GR GPU服务器支持第四代英特尔至强可扩展处理器&#xff0c;采用全新微架构内核&#xff0c;支持最高的350W型号&#xff0c;计算性能强劲&#xff1b;支持32个DDR5内存&#xff0c;频率最高可达4800MHz&#xff0c;内存带宽相比上一代提升50%&#x…

[前端]React入门指南安裝及依赖包管理

仓库管理工具nrm #安装nrm npm i -g nrm#查看当前 nrm ls#use 使用仓库 nrm use npm 常见问题 npm安装失败 。切换为npm镜像为淘宝镜像 。使用yarn&#xff0c;如果本来使用yarn还要失败&#xff0c;还得把yarn的源切换到国内&#xff0c;如果还没有办法解决&#xff0c;请删除…

大一,如何成为一名fpga工程师?

​ 1、数电&#xff08;必须掌握的基础&#xff09;&#xff0c;然后进阶学模电&#xff08;选学&#xff09;&#xff0c; 2、掌握HDL&#xff08;HDLverilogVHDL&#xff09;可以选择verilog或者VHDL&#xff0c;建议verilog就行。 3、掌握FPGA设计流程/原理&#xff08;推…

PPI+机器学习+免疫浸润+实验验证,如此简单也能发4+

今天给同学们分享一篇生信文章“Identification of metabolic biomarkers associated with nonalcoholic fatty liver disease”&#xff0c;这篇文章发表在Lipids Health Dis期刊上&#xff0c;影响因子为4.5。 结果解读&#xff1a; 识别NAFLD患者的MR DEG 主成分分析&…

YOLOv7独家原创改进:新颖的Shape IoU结合 Inner-IoU,基于辅助边框的IoU损失的同时关注边界框本身的形状和尺度,小目标实现高效涨点

💡💡💡本文改进:一种新的Shape IoU方法结合 Inner-IoU,基于辅助边框的IoU损失的同时,更加关注边界框本身的形状和尺度来计算损失 💡💡💡对小目标检测涨点明显,在VisDrone2019、PASCAL VOC均有涨点 💡💡💡本文改进:一种新的Shape IoU方法,该方法可以通过…

Python入门-函数

1.函数的定义及调用 函数&#xff1a;函数是将一段实现功能的完整代码&#xff0c;使用函数名称进行封装&#xff0c;通过函数名称进行调用。 以此达到一次编写&#xff0c;多次调用的目的 def get_sum(num): #num叫形式参数s0for i in range(1,num1):siprint(f1到{num}之…

Docker 发布自定义镜像到公共仓库

Docker 发布自定义镜像到公共仓库 引言 Docker 是一种轻量级、便携式的容器化技术&#xff0c;可以使应用程序在不同环境中更加可移植。在本文中&#xff0c;我们将学习如何使用 Docker 从公共仓库拉取 Nginx 镜像&#xff0c;定制该镜像&#xff0c;添加自定义配置文件&…

中国到雅加达专线,快速双清到门!

中国到雅加达专线&#xff0c;快速双清到门&#xff01;&#x1f680;&#x1f30f; 嘿&#xff0c;亲爱的小伙伴们&#xff01;有关中国到雅加达的专线&#xff0c;快来了解一下吧&#xff01;&#x1f1e8;&#x1f1f3;✈️&#x1f1ee;&#x1f1e9; 专线亮点&#xff1a…