【代码随想录算法训练营第42期 第三十天 | LeetCode452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间】

news/2024/9/18 15:30:55/ 标签: 算法, 哈希算法, java

代码随想录算法训练营第42期 第三十天 | LeetCode452. 用最少数量的箭引爆气球、435. 无重叠区间、763.划分字母区间


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

解题代码C++:

class Solution {
private:static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];}
public:int findMinArrowShots(vector<vector<int>>& points) {if (points.size() == 0) return 0;sort(points.begin(), points.end(), cmp);int result = 1; // points 不为空至少需要一支箭for (int i = 1; i < points.size(); i++) {if (points[i][0] > points[i - 1][1]) {  // 气球i和气球i-1不挨着,注意这里不是>=result++; // 需要一支箭}else {  // 气球i和气球i-1挨着points[i][1] = min(points[i - 1][1], points[i][1]); // 更新重叠气球最小右边界}}return result;}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0452.%E7%94%A8%E6%9C%80%E5%B0%91%E6%95%B0%E9%87%8F%E7%9A%84%E7%AE%AD%E5%BC%95%E7%88%86%E6%B0%94%E7%90%83.html



二、435. 无重叠区间

解题代码C++:

class Solution {
public:// 按照区间右边界排序static bool cmp (const vector<int>& a, const vector<int>& b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.size() == 0) return 0;sort(intervals.begin(), intervals.end(), cmp);int count = 1; // 记录非交叉区间的个数int end = intervals[0][1]; // 记录区间分割点for (int i = 1; i < intervals.size(); i++) {if (end <= intervals[i][0]) {end = intervals[i][1];count++;}}return intervals.size() - count;}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html



三、763.划分字母区间

解题代码C++:

class Solution {
public:vector<int> partitionLabels(string S) {int hash[27] = {0}; // i为字符,hash[i]为字符出现的最后位置for (int i = 0; i < S.size(); i++) { // 统计每一个字符最后出现的位置hash[S[i] - 'a'] = i;}vector<int> result;int left = 0;int right = 0;for (int i = 0; i < S.size(); i++) {right = max(right, hash[S[i] - 'a']); // 找到字符出现的最远边界if (i == right) {result.push_back(right - left + 1);left = i + 1;}}return result;}
};

题目链接/文章讲解/视频讲解:
https://programmercarl.com/0763.%E5%88%92%E5%88%86%E5%AD%97%E6%AF%8D%E5%8C%BA%E9%97%B4.html


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

相关文章

SpringBoot多环境日志配置

SpringBoot 默认使用 LogBack 日志系统 默认情况下&#xff0c;SpringBoot项目的日志只会在控制台输入。 如果想查询历史日志则无法找到&#xff0c;我们需要一个日志系统来统一管理日志。 一般正式项目会有单独日志系统&#xff0c;将日志操作存入数据库。 第一种方式是 在 ap…

力扣hot100-动态规划

文章目录 概念动态规划基本思想常见步骤常用技巧常见问题类型 动态规划题目题目&#xff1a; 爬楼梯题解 概念 动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;是一种解决问题的算法思想&#xff0c;通常用于优化问题。它的核心思想是将一个…

PTA L1-019 谁先倒

L1-019 谁先倒&#xff08;15分&#xff09; 划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为&#xff1a;每人口中喊出一个数字&#xff0c;同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和&#xff0c;谁就输了&#xff0c;输家罚…

sqli-labs靶场通关攻略(36-40关)

第36关&#xff08;宽字节注入&#xff08;Bypass MySQL Real Escape String&#xff09;&#xff09; 查数据库 ?id-1%df%27%20union%20select%202,database(),3%20-- 查表 ?id-1%df union select 1,group_concat(table_name),3 from information_schema.tables where tab…

图片生成box-shadow并下载

把图片生成由box-shadow拼接成的阴影组成的图片 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><titl…

【焕新】同为科技(TOWE)23周年庆典

每年的8月23日&#xff0c;都是一个值得铭记、守护、欢庆的日子。这一天同为科技&#xff08;TOWE&#xff09;迎来公司成立23周年纪念日&#xff0c;是属于TOWE品牌向前、长远的里程碑。从2001到2024&#xff0c;从品牌与文化&#xff0c;从产品到服务。 同为科技&#xff08;…

Python自动化办公2.0 课程更新

之前的课程&#xff0c;包含了Python pandassklearn 数据分析&#xff0c;和Stremlit 可视化仪表盘的开发 和一系列自动化项目案例的开发&#xff0c;包括我们封装了ztl-uia 模块&#xff0c;可以同时自动化操控windows 软件和浏览器, 封装的模块&#xff0c;针对为付费学员使…

【AI模型:追求全能还是专精?】

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《热点时事》 期待您的关注 目录 引言 ​编辑 一&#xff1a;AI模型的全面评估和比较 二&#xff1a;AI模型的专精化和可扩展性…

微软正式确认将在近期关闭经典Windows控制面板

微软在不断测试并为 Windows 添加新功能的同时&#xff0c;也在不断淘汰一些公司认为不再需要的功能。这些功能会被添加到Windows 过时功能的列表中&#xff0c;最近的一项功能是 Paint 3D&#xff0c;该公司宣布它很快就会被淘汰。 与微软似乎希望尽早取消的"3D 画图&quo…

uniapp video标签无法播放视频

当video标签路径含有中文以及特殊字符视频就会无法播放 解决方法使用encodeURIComponent对路径进行加密处理 videoSrc data.coursewareFile? ${appConfig.apiUrl encodeURIComponent(data.coursewareFile)}: "";最后效果

内衣洗衣机和手洗哪个干净?五款高评分内衣洗衣机实测分享!

在日常生活中&#xff0c;内衣洗衣机已成为现代家庭必备的重要家电之一。选择一款耐用、质量优秀的内衣洗衣机&#xff0c;不仅可以减少洗衣负担&#xff0c;还能提供高效的洗涤效果。然而&#xff0c;市场上众多内衣洗衣机品牌琳琅满目&#xff0c;让我们往往难以选择。那么&a…

增材制造(3D打印):为何备受制造业瞩目?

在科技浪潮的推动下&#xff0c;增材制造——即3D打印技术&#xff0c;正逐步成为制造业领域的璀璨新星&#xff0c;吸引了航空航天、汽车、家电、电子等众多行业的目光。那么&#xff0c;是什么让3D打印技术如此引人注目并广泛应用于制造领域&#xff1f;其背后的核心优势又是…

应用软件初始化的优缺点,读写ini,json,xml...

读写 INI 文件和读写 JSON 文件是两种常见的数据存储方式&#xff0c;它们各自有不同的优缺点&#xff0c;适用于不同的应用场景。以下是它们的一些比较&#xff1a; 读写 INI 文件 优点&#xff1a; 人类可读性&#xff1a;INI 文件格式简单&#xff0c;易于人类阅读和编辑…

2024前端面试题-js篇

1.js有哪些数据类型 基础数据类型&#xff1a;string,number,boolean&#xff0c;null&#xff0c;undefined&#xff0c;bigInt&#xff0c;symbol 引用数据类型&#xff1a;Object 2.js检测数据类型的方式 typeof&#xff1a;其中数组、对象、null都会被判断为object&…

Jupyter 的可视化 Debug

Jupyter 这种工具虽然有很好的交互性能&#xff0c;但其也明白&#xff0c;对于大型代码库&#xff0c;最好还是用传统的 IDE 比较靠谱。 因此为了弥补这一缺陷&#xff0c;Jupyter 项目在过去几年也希望通过 JupyterLab 来加强对大型代码库的处理过程。 然而&#xff0c;Jup…

vue中实现图片裁剪

在现代Web应用中&#xff0c;图片处理是一个常见的需求。本文将介绍如何使用Vue.js结合Cropper.js实现一个简单的图片裁剪功能。以下是实现该功能的完整代码。 代码实现 <template><div class"c-copper-container" :class"{wd260 : type articlesub…

零知识证明-非对称加解密算法(三)

前言 非对称加解密算法 &#xff0c;就有对称加解密算法 1:对称算法 定义 对称算法&#xff0c;加解密双方使用一个密钥。即加密秘钥和解密秘钥相同。 对称加密又分为&#xff1a;分组加密和流加密 分组加密 分组加密是每次只能处理特定长度的一块数据的一类密码算法&#xff0…

WPF 手撸插件 五 消息总线

虽然暂时不知道该如何将消息总线集成到插件系统中&#xff0c;但是让我先学习起来吧&#xff0c;本文主要来说说我最近学习的Reface.EventBus Reface.EventBus有两个版本&#xff0c;分别支持.Net Framework和 .Net Core。 我们这里先说支持.Net Framework的版本&#xff0c;先…

【问题记录】mysql报错 ,mysql2 和 mysql 5.

错误2 和 错误5 都是由于注册表有问题&#xff1a; 由于我之前安装过MySQL&#xff0c;导致之前的配置没有删除。 解决&#xff1a; 搜索打开注册表编辑器&#xff1a; 注册表中找到MySQL: 修改路径&#xff1a; "D:\develop\mysql-8.0.39-winx64\bin\mysqld&quo…

边缘物联网平台AIoTedge推荐

AIoTedge是一个创新的智能边缘计算平台&#xff0c;它通过边云协同的架构设计&#xff0c;实现了多点部署和分布式计算&#xff0c;提高了数据处理的速度和效率&#xff0c;同时确保了数据的安全性和隐私性。平台具备强大的分布式AIoT处理能力&#xff0c;适用于多种场景&#…