当前位置: 首页 > news >正文

代码随想录算法训练营第三十六天| 435 无重叠区间 763 划分字母区间 56 合并区间

目录

435 无重叠区间

763 划分字母区间

56 合并区间


435 无重叠区间

将intervals数组按照左端点进行升序排序。

设置变量len标志此时新加入端点后所有区间的位置,将其赋初值为第一对区间的右端点,因为该点是一定可达的。设置变量res来存储需要移除空间的数量。

遍历intervals数组,有如下两种情况

  1. 如果当前区间右端点小于或者等于新区间的左端点,说明可以将新区间加入到总区间中,将len赋值为新区间的右端点。
  2. 如果当前总区间右端点大于新区间的左端点,说明加入发生了冲突,将res++。局部最优是在保证res较小的情况下使得总区间范围尽可能小,如果发生以下情况,即当前总区间右端点大于新区间的右端点,为了使得较小区间总范围较小,我们应该放弃上一个端点选择新端点,所以应该进行判断使得len为总区间右端点和新区间右端点之间的最小值。
import java.util.Arrays;
class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals,(o1, o2) -> {if(o1[0] == o2[0]){return o1[1] - o2[1];}return o1[0] - o2[0];});int res = 0;int len = intervals[0][1];for(int i = 1;i < intervals.length;i++){if(len <= intervals[i][0]){len = intervals[i][1];}else{res++;len = Math.min(len,intervals[i][1]);}}return res;}
}

时间复杂度O(nlogn)排序的时间复杂度为nlogn,遍历的时间复杂度为n

空间复杂度O(logn)排序所需要的栈空间

763 划分字母区间

56 合并区间

http://www.lryc.cn/news/250260.html

相关文章:

  • 2023-12-01 事业-代号s-引流技巧和营销思路
  • 反转链表的Java实现
  • 2022年1月14日 Go生态洞察:Go 1.18 新教程探索
  • 国内某知名半导体公司:实现虚拟化环境下的文件跨网安全交换
  • 14.Tomcat和HTTP协议-[一篇通]
  • 在线陪诊系统: 医疗科技的崭新前沿
  • MySQL的基础知识
  • 【EI会议征稿】第七届大数据与应用统计国际学术研讨会(ISBDAS 2024)
  • 最轻量级最完整的屏幕适配完全适配各个手机方案
  • IDEA安装python插件并配置
  • 简单的Python烟花代码,跨年了
  • 社区医院儿童疫苗接种管理系统设计与开发
  • Docker下安装Redis
  • 【python笔记】与网络编程相关的知识总结
  • 【libGDX】Mesh立方体贴图(6张图)
  • 数据爬取+数据可视化实战_哪里只得我共你(Dear Jane)_词云展示----网易云
  • spring事务管理快速入门(以转账为例)
  • 如何在VS2022上的MFC项目中操作Excel(VS2010、VS2012、VS2015、VS2017、VS2019使用方法一样)
  • 【Java8系列06】Java8数据计算
  • Andrioid T 实现充电动画(2)
  • 静态方法和属性的经典使用-单例设计模式
  • TCP七层协议
  • 规则引擎Drools使用,0基础入门规则引擎Drools(五)实战+决策表
  • Java后端开发——MVC商品管理程序
  • 【隐私计算】VOLE (Vector Oblivious Linear Evaluation)学习笔记
  • 国产linux单用户模式破解无密码登陆 (麒麟系统用户登录密码遗忘解决办法)
  • GPT市场将取代插件商店 openAI已经关闭plugins申请,全部集成到GPTs(Actions)来连接现实世界,可以与物理世界互动了。
  • PHP定义的变量 常量 静态变量等储存在内存什么位置?
  • C#中GDI+绘图应用(柱形图、折线图和饼形图)
  • 连锁零售企业如何提高异地组网的稳定性?