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

Java合并区间

问题:

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

示例:

示例 1:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].

示例 2:

输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

提示:

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

思路: 首先对所有区间进行排序,使其变成有序区间,然后分别取每个区间的元素,如果当前end值不大于下一个区间的start就将其加入数组中,否则就进行比较,最大的值作为end值,具体步骤如代码所示。

代码:

class Solution {public int[][] merge(int[][] intervals) {int n = intervals.length;//先对数组进行排序Arrays.sort(intervals,(a,b)->a[0] - b[0]);List<int[]> list = new ArrayList<>();int starti = -1;int endi = -1;for(int[] inertval : intervals){if(endi < inertval[0]){if(starti != -1){list.add(new int[]{starti,endi});}starti = inertval[0];endi = inertval[1];} else {endi = Math.max(endi,inertval[1]);}}list.add(new int[]{starti,endi});int[][] ans = new int[list.size()][2];for(int i = 0; i < ans.length; i++){ans[i] = list.get(i);}return ans;}
}

相关文章:

Java合并区间

问题&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例&#xff1a; 示例 1&#xff…...

前端面试:【代码质量与工程实践】单元测试、集成测试和持续集成

在现代软件开发中&#xff0c;确保代码质量是至关重要的。单元测试、集成测试和持续集成是关键的工程实践&#xff0c;用于提高代码的可靠性和可维护性。本文将深入探讨这些概念&#xff0c;以及它们如何在软件开发中发挥作用。 1. 单元测试&#xff08;Unit Testing&#xff0…...

2023/8/17总结

项目完善&#xff1a; 算法推荐 item-CF 算法推荐我主要写的是协同过滤算法&#xff0c;然后协同过滤算法分成俩种—— 基于用户的 user-CF 基于物品的 item-CF 因为害怕用户冷启动&#xff0c;和数据量的原因 我选择了 item-CF 主要思路是——根据用户的点赞列表&…...

REDIS 7 教程 数据类型-进阶篇

⑥ *位图 bitmap 1. 理论 由0和1 状态表现的二进制位的bit 数组。 说明:用String 类型作为底层数据结构实现的一种统计二值状态的数据类型 位图本质是数组,它是基于String 数据类型的按位操作。该数组由多个二进制位组成,每个二进制位都对应一个偏…...

图文并茂:Python Tkinter从入门到高级实战全解析

目录 介绍什么是Tkinter&#xff1f;准备工作第一个Tkinter程序界面布局事件处理补充知识点 文本输入框复选框和单选框列表框弹出对话框 综合案例&#xff1a;待办事项列表总结 介绍 欢迎来到本篇文章&#xff0c;我们将带您深入了解如何在Python中使用Tkinter库来创建图形用…...

npm和yarn的区别?

文章目录 前言npm和yarn的作用和特点npm和yarn的安装的机制npm安装机制yarn安装机制检测包解析包获取包链接包构建包 总结后言 前言 这一期给大家讲解npm和yarn的一些区别 npm和yarn的作用和特点 包管理&#xff1a;npm 和 yarn 可以用于安装、更新和删除 JavaScript 包。它们提…...

微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本

nacos Dockerfile&#xff08;不需要特殊处理&#xff0c;使用docker conpose可以不写&#xff09; # 基础镜像 FROM nacos/nacos-server # author MAINTAINER jianglifeng<jlifengfoxmail.com> RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ &&a…...

算法通过村第三关-数组黄金笔记|数组难解

文章目录 前言数组中出现超过一半的数字数组中只出现一次的数字颜色的分类问题(荷兰国旗问题)基于冒泡排序的双指针&#xff08;快慢指针&#xff09;基于快排的双指针&#xff08;对撞指针&#xff09; 总结 前言 提示&#xff1a;苦不来自外在环境中的人、事、物&#xff0c;…...

【2023】LeetCode HOT 100——矩阵

目录 1. 矩阵置零1.1 C++实现1.2 Python实现1.3 时空分析2. 螺旋矩阵2.1 C++实现2.2 Python实现2.3 时空分析3. 旋转图像3.1 C++实现3.2 Python实现3.3 时空分析4. 搜索二维矩阵 II4.1 C++实现4.2 Python实现4.3 时空分析1. 矩阵置零 🔗 原题链接:...

springboot源码方法

利用LinkedHashSet移除List重复的数据protected final <T> List<T> removeDuplicates(List<T> list) {return new ArrayList<>(new LinkedHashSet<>(list));} SpringFactoriesLoader#loadFactoryNames 加载配置文件...

基于java街球社区网站设计与实现

摘  要 本文主要讲述了基于SpringBootVue模式的街球社区网站的设计与实现。这里所谓的街球社区网站是通过类似于百度贴吧之类的网上论坛使得所有的街球爱好者有一个可以互相交流的平台,并使所有用户可以在社区进行教学视频的观看以及相关体育运动产品的选购,平台的盈利主要靠…...

定时产生不同频率方波

/*----------------------------------------------- 内容&#xff1a;通过定时产生不同频率方波 ------------------------------------------------*/ #include<reg52.h> //包含头文件&#xff0c;一般情况不需要改动&#xff0c;头文件包含特殊功能寄存器的定义 /*-…...

Java“牵手”天猫商品sku信息API接口数据,天猫API接口申请指南

天猫平台商品sku属性信息接口是开放平台提供的一种API接口&#xff0c;通过调用API接口&#xff0c;开发者可以获取天猫商品的标题、价格、库存、月销量、总销量、库存、详情描述、图片等详细信息 。 获取商品销量接口API是一种用于获取电商平台上商品sku属性数据的接口&#…...

【⑮MySQL | 视图】概述 | 创建 | 查看 | 更新 | 修改 | 删除

前言 ✨欢迎来到小K的MySQL专栏&#xff0c;本节将为大家带来MySQL视图概述 | 创建 | 查看 | 更新 | 修改 | 删除的分享✨ 目录 前言1.视图概述2.创建视图3.查看视图4.更新视图数据5.修改视图6.删除视图总结 1.视图概述 1.1 为什么使用视图&#xff1f; 视图一方面可以帮我们使…...

Linux驱动开发一、RK3568把hello编译到Linux内核中运行。‘rk_vendor_read’未定义的引用

1、在字符设备目录下建立hello目录 ~/Linux/rk356x_linux/kernel/drivers/char/hello 2、进入hello目录&#xff0c;新建hello.c、Makefile、Kconfig三个文件 3、Kconfig是打开make menuconfig配置界面是后的选项&#xff0c;这Kconfig是在字符设备下的。 config HELLOtrist…...

enable_shared_from_this

用途&#xff1a; enable_shared_from_this 是一个基类模板&#xff0c;用于解决在类成员函数中获取类对象的 shared_ptr 的需求。它提供了一种机制&#xff0c;使类能够安全地从成员函数内部获得指向自身的 shared_ptr。 解决对象生命周期管理问题&#xff1a;在某些情况下&…...

weak_ptr是怎么探知对象生死的

weak_ptr是C智能指针中的一种。它用于解决共享所有权的问题&#xff0c;并且可以避免因循环引用而导致的内存泄漏。 weak_ptr本身并不承担对象的所有权&#xff0c;它指向由shared_ptr管理的对象。与shared_ptr不同&#xff0c;weak_ptr并不会增加计数器来计算对象的引用次数。…...

⌈算法进阶⌋图论::拓扑排序(Topological Sorting)——快速理解到熟练运用

目录 一、原理 1. 引例&#xff1a;207.课程表 2. 应用场景 3. 代码思路 二、代码模板 三、练习 1、210.课程表Ⅱ&#x1f7e2; 2、2392.给定条件下构造举证&#x1f7e1; 3、310.最小高度树 &#x1f7e1; 一、原理 1. 引例&#xff1a;207.课程表 就如大学课程安排一样&…...

【Python】【数据结构和算法】保留最后N个元素

使用deque&#xff0c;指定maxlen参数的值为N&#xff0c;例如&#xff1a; >>> from collections import deque >>> dq deque(maxlen3) >>> dq.append(1) >>> dq.append(2) >>> dq.append(3) >>> dq.append(4) >&…...

wireshark 基本使用

在Wireshark中&#xff0c;你可以使用过滤器来根据接口名称定位到特定的包。下面是一些常见的过滤器示例&#xff1a; 根据源或目的IP地址过滤&#xff1a; ip.src 192.168.0.1&#xff1a;过滤源IP地址为192.168.0.1的包。ip.dst 192.168.0.1&#xff1a;过滤目的IP地址为…...

从“能听见”到“听得清”:一款高集成度AI语音处理模组的落地实践

在嵌入式产品开发中&#xff0c;语音交互功能的开发往往是一个“隐形的坑”。很多团队在Demo阶段用普通麦克风和喇叭一切正常&#xff0c;一到真实环境就问题百出&#xff1a;空调噪音盖过人声、对方听到刺耳的回声、音量开大就爆麦。一、产品定位&#xff1a;解决什么痛点&…...

用Excel手搓反向传播神经网络:零代码理解梯度下降

1. 项目概述&#xff1a;用Excel手搓一个能反向传播的神经网络&#xff0c;真不用写一行代码你有没有过这种感觉&#xff1a;想搞懂神经网络到底是怎么“学”会识别猫狗、预测房价的&#xff0c;可一翻开教材就是矩阵求导、链式法则、张量运算&#xff0c;还没开始就卡在了数学…...

告别代码阅读障碍:MultiHighlight智能高亮插件提升3倍开发效率

告别代码阅读障碍&#xff1a;MultiHighlight智能高亮插件提升3倍开发效率 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight …...

2021年AI落地临界点:视觉生成、代码补全与语音识别的工程化逻辑

1. 项目概述&#xff1a;这不是一份榜单&#xff0c;而是一份“AI技术落地时间表” “ The AI Monthly Top 3 — March 2021 ”——看到这个标题&#xff0c;很多人第一反应是&#xff1a;又一份AI行业资讯汇总&#xff1f;点开就走&#xff1f;但作为连续追踪AI工具演进路径…...

暗黑2存档编辑器实战指南:免费Web工具深度解析与操作手册

暗黑2存档编辑器实战指南&#xff1a;免费Web工具深度解析与操作手册 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 想要在暗黑破坏神2中测试各种强力Build&#xff0c;却不想花费数百小时刷装备&#xff1f;渴望体验不同角色配…...

深入解析Linux内核sk_buff:网络数据包的内存布局与核心操作

1. 项目概述&#xff1a;从“数据包”到“sk_buff”的认知跃迁在网络编程或者内核开发领域&#xff0c;无论你是刚入门的新手&#xff0c;还是已经写过几个驱动模块的开发者&#xff0c;迟早都会与一个名为sk_buff的数据结构狭路相逢。这个名字听起来有点古怪&#xff0c;它是“…...

魔兽争霸3现代化修复指南:3步解决经典游戏兼容性问题

魔兽争霸3现代化修复指南&#xff1a;3步解决经典游戏兼容性问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得那个曾经风靡全球的《魔…...

期刊论文重复率多少才算合格?

没有一个“全国统一合格线”。很多人想要一个标准答案&#xff0c;比如“10%以下就稳”“15%以下就能投”。现实是&#xff1a;看你投什么期刊、什么学科、什么系统。大致可以这么看&#xff1a;1. 普通国内期刊&#xff1a;通常 10%–30% 区间常见 有些普刊要求比较宽&#xf…...

终极指南:3分钟掌握英雄联盟智能助手League Akari的完整使用技巧 [特殊字符]

终极指南&#xff1a;3分钟掌握英雄联盟智能助手League Akari的完整使用技巧 &#x1f680; 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 想…...

QKeyMapper:免费开源的Windows按键映射工具,彻底解放你的操作习惯

QKeyMapper&#xff1a;免费开源的Windows按键映射工具&#xff0c;彻底解放你的操作习惯 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper&#xff0c;Qt开发Win10&Win11可用&#xff0c;不修改注册表、不需重新启动系统&#xff0c;可立即生效和停止。支持游戏手柄…...