当前位置: 首页 > 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地址为…...

别再只盯着RTK了!聊聊GNSS/INS组合导航里,紧耦合如何用1颗卫星‘吊住’你的定位

1颗卫星的逆袭&#xff1a;紧耦合技术如何在极端环境下守护你的定位精度 想象一下&#xff0c;你正驾驶一辆L4级自动驾驶汽车穿越曼哈顿的钢铁森林。高楼间的"城市峡谷"让GPS信号时断时续&#xff0c;传统导航系统已经开始报警——"卫星信号丢失"。但你的车…...

Qt串口开发避坑指南:从QSerialPort基础到实战封装,解决粘包和跨平台问题

Qt串口开发避坑指南&#xff1a;从QSerialPort基础到实战封装 1. 串口开发的典型痛点与解决思路 嵌入式开发中&#xff0c;串口通信就像一位性格古怪的老朋友——看似简单却暗藏玄机。许多开发者第一次使用Qt的QSerialPort类时&#xff0c;往往会被其简洁的API迷惑&#xff0c;…...

Bongo-Cat-Mver:实时键盘动画工具的创新应用与实践指南

Bongo-Cat-Mver&#xff1a;实时键盘动画工具的创新应用与实践指南 【免费下载链接】Bongo-Cat-Mver An Bongo Cat overlay written in C 项目地址: https://gitcode.com/gh_mirrors/bo/Bongo-Cat-Mver 在直播、教学和演示场景中&#xff0c;如何让观众清晰感知键盘操作…...

WRF模式选哪个边界层方案?从YSU到MYNN,手把手教你根据天气场景做选择

WRF模式边界层方案实战指南&#xff1a;从YSU到MYNN的精准选择策略 清晨的山谷雾气弥漫&#xff0c;气象站的监测数据不断跳动——这是WRF模式使用者最熟悉的场景。当你准备模拟一次强对流过程或城市热岛效应时&#xff0c;边界层参数化方案的选择往往成为影响结果精度的关键变…...

ESP32嵌入式Web文件管理器:支持SPIFFS/LittleFS/SD卡

1. EspWebFileManager 库概述EspWebFileManager 是一款专为 ESP32 平台设计的嵌入式 Web 文件管理中间件库&#xff0c;其核心目标是将本地文件系统操作能力通过轻量级 HTTP 服务暴露至浏览器端&#xff0c;实现免串口、免烧录工具的现场文件运维。该库并非独立文件系统驱动&am…...

从零搭建私有物联网网络:LoRaWAN服务器实战指南

从零搭建私有物联网网络&#xff1a;LoRaWAN服务器实战指南 【免费下载链接】lorawan-server Compact server for private LoRaWAN networks 项目地址: https://gitcode.com/gh_mirrors/lo/lorawan-server 在物联网部署浪潮中&#xff0c;私有服务器搭建已成为企业和开发…...

5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅

5大维度解析Mac Mouse Fix&#xff1a;从工具到体验的蜕变之旅 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款让普通鼠标在macOS系统上…...

腾讯验证码攻防新篇:六宫格、滑块与文字识别的毫秒级破解实战

1. 腾讯验证码体系深度解析 腾讯验证码作为当前互联网安全防护的重要组成部分&#xff0c;已经发展出包括六宫格、图标点选、滑块验证和文字识别在内的多种形式。这些验证码在设计时充分考虑了人机交互的特点&#xff0c;通过视觉识别和行为分析双重机制来区分真实用户和自动化…...

YimMenu终极指南:免费GTA5辅助工具完整使用教程

YimMenu终极指南&#xff1a;免费GTA5辅助工具完整使用教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...

TensorRT实战:从模型转换到部署推理的完整指南

1. TensorRT入门&#xff1a;为什么选择它&#xff1f; 如果你正在寻找一种能够让你的深度学习模型在生产环境中飞起来的方法&#xff0c;TensorRT绝对是你的不二之选。简单来说&#xff0c;TensorRT是NVIDIA推出的高性能推理优化器和运行时引擎&#xff0c;专门为NVIDIA GPU设…...