代码随想录算法训练营Day35 | 435. 无重叠区间 763.划分字母区间 56. 合并区间

代码随想录算法训练营Day35 | 435. 无重叠区间 763.划分字母区间 56. 合并区间

LeetCode 435. 无重叠区间

题目链接:LeetCode 435. 无重叠区间

思路:
左排序,统计 重合区域,并记录右区间最小值

class Solution {
public:bool static cmp(vector<int>& a , vector<int>& b){//if(a[0] == b[0]) return a[1] < b[1];return a[0] < b[0];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if(intervals.size()==1) return 0;sort(intervals.begin(), intervals.end());int count = 0;for(int i = 1; i<intervals.size(); i++){if(intervals[i][0] < intervals[i-1][1]) {count++;intervals[i][1] = min(intervals[i][1], intervals[i-1][1]);}}return count;}
};

注意 :

  1. 注意是在重叠时判断右区间的最小值

LeetCode 763.划分字母区间

题目链接:LeetCode 763.划分字母区间

思路:
用hash表记录最右区间,再滑动最右区间即可。

class Solution {
public:vector<int> partitionLabels(string s) {int hash[]27,0);vector<int> res;for(int i=0; i<s.size(); i++){hash[s[i]-'a'] = i;}int left = 0;int right = 0;for(int i=0; i < s.size(); i++){right = max(hash[s[i]-'a'], right);if(i==right){res.push_back(right-left+1);left = i+1;}}return res;}
};

注意 :

  1. 需要单独一个index遍历数组

LeetCode 56. 合并区间

题目链接:LeetCode 56. 合并区间

思路:
左区间排序,变化右区间,取最大值

class Solution {
public:bool static cmp (vector<int>& a, vector<int>& b){return a[0] < b[0];}vector<vector<int>> merge(vector<vector<int>>& intervals) {vector<vector<int>> res;sort(intervals.begin(), intervals.end(), [](vector<int>& a, vector<int>& b){return a[0] < b[0];});res.push_back(intervals[0]);for(int i = 1; i < intervals.size(); i++){if(intervals[i][0] <= res.back()[1]){res.back()[1] = max(intervals[i][1], res.back()[1]);    }else{res.push_back(intervals[i]);}}return res;}
};

注意 :

  1. 可用lambda表达式写cmp函数

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

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

相关文章

攻防世界-web-command_execution

题目&#xff1a; 原理&#xff1a; | 的作用为将前一个命令的结果传递给后一个命令作为输入 &&的作用是前一条命令执行成功时&#xff0c;才执行后一条命令 方法一&#xff1a; 第一步&#xff1a; 1.打开浏览器&#xff0c;在文本框内输入127.0.0.1 | find / -name…

Linux系统运行Java项目(看这一篇就够了)

首先java项目需要打包成jar包&#xff0c;然后上传到Linux系统中 这时我们在Linux系统中要cd到Jar包的路径 下面介绍几种启动jar包的方法 一、启动方法 1、java -jar xxx.jar 最常用的启动jar包命令&#xff0c;特点&#xff1a;当前ssh窗口被锁定&#xff0c;可按CTRL C…

【声呐仿真】学习记录2.5-DAVE项目部分文档大纲

【声呐仿真】学习记录2.5-DAVE项目 一、Dave Models 模型Vehicle Models 航行器模型New Underwater Vehicle 新型水下航行器Dave ROV ModelsDave Glider ModelsManipulator Models 机械臂模型UUV Simulator Examplesrexrovrexrov2desistek saga roveca_a9Light Autonomous Unde…

调用move_base中的action

文章目录 功能介绍实现过程具体代码参考功能介绍 move_base 中的 action 是 ROS 中用于导航功能的一种实现方式,它利用 ROS 中的行为(action)通信机制来提供更灵活和强大的导航控制。 在 move_base 中,导航行为被建模为一个行为(action),该行为包含了导航过程中的目标…

stata空间计量模型基础+检验命令LM检验、sem、门槛+arcgis画图

目录 怎么安装stata命令 3怎么使用已有的数据 4数据编辑器中查看数据 4怎么删除不要的列 4直接将字符型变量转化为数值型的命令 4改变字符长度 4描述分析 4取对数 5相关性分析 5单位根检验 5权重矩阵标准化 6计算泰尔指数 6做核密度图 7Moran’s I 指数 8空间计量模型 9LM检验…

Follow the Money:2023年最赚钱的十家国内芯片设计上市公司及其整体表现

作者&#xff1a;北京华兴万邦管理咨询有限公司 商瑞 马华 摘要&#xff1a;尽管相较2022年有所下滑&#xff0c;但2023年最赚钱的十家国内芯片设计上市公司的净利润总额超过了159家A股和港股上市内地半导体企业利润总额的55%&#xff0c;但是其市值之和仅占159家上市半导体…

IndexedDB解密:打开Web应用的数据存储之门

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 IndexedDB解密&#xff1a;打开Web应用的数据存储之门 前言IndexedDB简介数据库操作数据检索与索引异步操作与事件处理 前言 在Web的世界里&#xff0c;数据就像是一群旅行者&#xff0c;它们来自各个…

【Python】PYQT5详细介绍

本专栏内容为&#xff1a;Python学习专栏 通过本专栏的深入学习&#xff0c;你可以了解并掌握Python。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;Python &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f3…

探索Linux:深入理解各种指令与用法

文章目录 cp指令mv指令cat指令more指令less指令head指令tail指令与时间相关的指令date指令 cal指令find指令grep指令zip/unzip指令总结 上一个Linux文章我们介绍了大部分指令&#xff0c;这节我们将继续介绍Linux的指令和用法。 cp指令 功能&#xff1a;复制文件或者目录 语法…

免费知识付费内的小程序,一键生成小程序,K12在线教育市场的主要参与者有哪些?

国内互联网在线教育目前还处于产业探索期&#xff0c;K12在线教育市场的主要参与者有哪些?互联网在线教育市场目前参与进来的主要有教育出版商、软件公司、课外辅导机构、以及互联网公司。 1、教育出版商 目前教育出版商的优势是有数字资源、懂教育、具备体制内的渠道优势。此…

【C++ Primer Plus】第3章 基本数据类型

面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。 C内置数据类型分为基本类型和复合类型。基本类型包括整数、浮点数&#xff0c;以及多种变体&#xff1b;复合类型包括数组、字符串、指针和结构。 变量一种标识存储的数据的方法…

001 websocket(评论功能demo)(消息推送)

文章目录 ReviewController.javaWebSocketConfig.javaWebSocketProcess.javaServletInitializer.javaWebsocketApplication.javareadmeindex.htmlapplication.yamlpom.xml ReviewController.java package com.example.controller;import com.example.websocket.WebSocketProces…

量子波函数白话解释

关键词&#xff1a;Quantum Wave Function 文章目录 一、说明二、什么是波函数&#xff1f;三 量子波的可视化四、量子波的概率解释 一、说明 在量子力学中&#xff0c;粒子是我们只有在测量它们时才能看到的东西。其中运动模式由满足薛定谔方程的波函数描述。波函数并非量子…

【重学C语言】十三、字符串

【重学C语言】十三、字符串 字符串存储字符串输入手写字符串部分操作函数字符串操作函数字符串长度字符串复制字符串连接字符串比较字符串搜索字符串分割字符串大小写转换字符串内存分配字符串替换字符串格式化其他内存操作函数字符串存储 在C语言中,字符串通常是以字符数组(…

基于JSP动漫论坛的设计与实现(四)

目录 功能模块测试 6.1 测试概述及所用方案 6.1.1软件测试概述 6.1.3 测试的步骤 6.1.4 测试的主要内容 6.1.5 测试方案 6.1.6测试设计 6.2 前端功能测试 6.2.1 登录功能测试 6.2.2 注册功能测试 6.2.3 发帖功能测试 6.2.4 回复帖子测试 6.3 后台功能测试 6…

为什么我们做C++项目的时候,需要写头文件

在C项目中&#xff0c;头文件&#xff08;通常具有.h或.hpp扩展名&#xff09;的使用是组织代码、提高可重用性和维护性的关键部分。以下是为什么我们在C项目中需要写头文件的一些主要原因&#xff1a; 声明与定义分离&#xff1a; 头文件通常包含类、函数、变量等的声明&…

vulnhub靶场之FunBox-5

一.环境搭建 1.靶场描述 Lets separate the script-kids from script-teenies.Hint: The first impression is not always the right one!If you need hints, call me on twitter: 0815R2d2 Have fun...This works better with VirtualBox rather than VMwareThis works bett…

导电材料——分类、性能与性质

本篇为西安交通大学本科课程《电气材料基础》的笔记。 导电材料指的是能在电场下传导电流的材料。导体价电子所在能带为半满带&#xff0c;且相邻能级间隔小&#xff0c;外电场下电子很容易从低能级跃迁到高能级上&#xff0c;大量的电子很容易获得能量进行共有化运动&#xf…

NPDP|传统行业产品经理如何跨越鸿沟,从用户角度审视产品

随着科技的飞速发展和互联网的普及&#xff0c;产品经理的角色已经从单纯的产品规划者逐渐转变为全方位的用户体验设计者。对于传统行业的产品经理来说&#xff0c;这是一个挑战与机遇并存的时代。他们不仅要面对激烈的市场竞争&#xff0c;还要学会如何跨越与新兴科技行业之间…

Scala编程入门:从零开始的完整教程

目录 引言环境准备创建第一个Scala项目基本语法高阶概念进阶资源结语 引言 Scala是一种强大的、静态类型的、多范式编程语言&#xff0c;它结合了面向对象和函数式编程的特点。本教程将指导您如何从零开始学习Scala&#xff0c;并搭建一个简单的开发环境。让我们开始探索Scala…