56.合并區間(java)

題目描述:

1.先判斷給定intervals是否為空或者大小是否為1,是則直接返回intervals。

2.對intervals進行排序

????????數組形式則使用:Arrays.sort(intevals,(a,b)->Integer.compare(a[0],b[0]));

? ? ? ? ArrayList形式:intervals.sort((a,b)->Integer.compare(a[0],b[0]));

3.創建結果集存儲合并后的區間,將第一個區間添加到res,然后開始遍歷intervals數組比較合并

數組形式:ArrayList<int[]> res = new ArrayList<>();

定義區間節點形式:ArrayList<Interval> res = new ArrayList<>();

? ? ? ? ? ? ? ? public class Interval{

? ? ? ? ? ? ? ? ? ? ? ? int start;

? ? ? ? ? ? ? ? ? ? ? ? int end;

? ? ? ? ? ? ? ? ? ? ? ? Interval(){start=0;end=0;}

? ? ? ? ? ? ? ? ? ? ? ? Interval(int s,int e) {start=s;end=e}

? ? ? ? ? ? ? ? ?}

4.開始比較(以數組形式為例)

? ? ? ? for(int i=1;i<intervals.length;i++){

? ? ? ? ? ? ? ? int[] a=intervals[i];

? ? ? ? ? ? ? ? int[] b=res.get(res.size()-1);? // 拿結果集的最后一個區間進行比較

? ? ? ? ? ? ? ? if(b[1]<a[0])? ?//無法合并,直接將數組a加入到res結果集

? ? ? ? ? ? ? ? ? ? ? ? res.add(a);

? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? ? ? b[1]=Math.max(a[1],b[1]);? ? ?// 合并,更新右區間

?????????}

5.返回結果(以數組為例)

? ? ? ? return res.toArray(new int[res.size()][]);

class Solution {public int[][] merge(int[][] intervals) {// 首先區間是否為空和是否為一個區間ArrayList<int[]> res = new ArrayList<>();if(intervals.length==0||intervals.length==1)return intervals;// 排序Arrays.sort(intervals,(a,b)->Integer.compare(a[0],b[0]));res.add(intervals[0]);for(int i=1;i<intervals.length;i++){int[] a=intervals[i];int[] b=res.get(res.size()-1);if(b[1]<a[0]) res.add(a);else b[1]=Math.max(a[1],b[1]);}return res.toArray(new int[res.size()][]);}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906149.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906149.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906149.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis設計與實現——Redis命令參考與高級特性

Redis命令參考 數據類型相關命令 SET&#xff1a;設置鍵值&#xff0c;支持過期時間、不存在/存在條件。GET&#xff1a;獲取鍵值&#xff0c;若鍵不存在返回 nil。INCR/DECR&#xff1a;將鍵的整數值增1/減1&#xff0c;鍵不存在時初始化為0。MSET/MGET&#xff1a;批量設置…

基于 STM32 的全自動洗車監控系統設計與實現

摘要 本文提出一種基于 STM32F103RCT6 芯片的全自動洗車監控系統方案,通過多傳感器融合與智能控制算法,實現車輛檢測、洗車流程自動化及狀態遠程監控。系統集成硬件選型、電路設計、軟件流程及通信功能,可廣泛應用于智能洗車場景。 一、硬件系統設計 1. 核心芯片選型 主控…

掌握Multi-Agent實踐(七):基于AgentScope分布式模式實現多智能體高效協作[并行加速大模型輔助搜索、分布式多用戶協同辯論賽]

之前的案例都是運行在單臺機器上以單進程形式運行,受限于 Python 的全局解釋器鎖,實際只能有效利用一個 CPU 的計算資源,并且無法支持多個用戶從自己的電腦上接入同一個 Multi-Agent 應用進行交互。?為了提高運行效率并支持多用戶接入同一個應用中,AgentScope 提供了分布式…

docker-compose部署項目(springboot服務)以及基礎環境(mysql、redis等)ruoyi-ry

上傳jar 配置文件等 到目錄&#xff1a;/home/ruoyi/docker 設置權限 chmod x *.sh 開通端口&#xff08;我已經開通了&#xff09; sh ./deploy.sh port 開始構建 docker-compose build 構建成功 可以先拉取鏡像 docker pull nacos/nacos-server docker pull nginx docker …

Axure疑難雜癥:統計分析頁面引入Echarts示例動態效果

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:統計分析頁面引入Echarts示例動態效果 主要內容:echart示例引入、大小調整、數據導入 應用場景:統計分析頁面…

如何使用WordPress創建美食博客

不管你是否意識到&#xff0c;食物是我們生活的核心。有些人將其用作燃料&#xff0c;而另一些人則將食譜作為一種藝術形式呈現。如果您屬于后者&#xff0c;并且想創建一個美食博客來分享您的熱情&#xff0c;那么WordPress是一個頂級平臺。 幾乎每個話題都有一個博客利基&am…

【MySQL】庫與表的操作

一、庫的操作 1. 查看數據庫 語法&#xff1a;show databases;這里的database是要加s的 查看當前自己所處的數據庫&#xff1a;select database(); 例如下圖&#xff0c;我當前所處的數據庫就是在class1數據庫 2. 創建數據庫 語法&#xff1a;create database [if not e…

Unity3D開發AI桌面精靈/寵物系列 【六】 人物模型 語音口型同步 LipSync 、梅爾頻譜MFCC技術、支持中英文自定義編輯- 基于 C# 語言開發

Unity3D開發AI桌面精靈/寵物系列 【六】 人物模型 語音口型同步 LipSync 、梅爾頻譜MFCC技術 C# 語言開發 該系列主要介紹怎么制作AI桌面寵物的流程&#xff0c;我會從項目開始創建初期到最終可以和AI寵物進行交互為止&#xff0c;項目已經開發完成&#xff0c;我會仔細梳理一下…

MoonBit正式入駐GitCode!AI時代的編程語言新星,開啟高性能開發新紀元

在AI與編程語言深度交融的今天&#xff0c;開發者們正見證一場技術生產力的革命。由IDEA研究院基礎軟件中心傾力打造的MoonBit&#xff08;月兔&#xff09;編程語言&#xff0c;自2023年橫空出世以來&#xff0c;憑借高性能、低延遲、輕量化的特性&#xff0c;迅速成為全球開發…

LLMs:《POE報告:2025年春季人工智能模型使用趨勢》解讀

LLMs&#xff1a;《POE報告&#xff1a;2025年春季人工智能模型使用趨勢》解讀 導讀&#xff1a;2025年5月13日&#xff0c;該報告基于 Poe 平臺的用戶數據&#xff0c;分析了 2025 年春季人工智能模型的使用趨勢。報告指出&#xff0c;人工智能格局快速演變&#xff0c;通用文…

STM32 之網口資源

1 網口資源介紹 STM32F407 是 STMicroelectronics 推出的高性能 ARM Cortex-M4 微控制器&#xff0c;具備多種外設接口&#xff0c;其中包括一個 Ethernet MAC 控制器&#xff08;帶 IEEE 1588 支持&#xff09;。這意味著你可以使用 STM32F407 實現網絡通信功能&#xff08;通…

Almalinux中出現ens33 ethernet 未托管 -- lo loopback 未托管 --如何處理:

解決 AlmaLinux 中網絡接口 ens33 和 lo 顯示為“未托管”的問題 當 AlmaLinux 系統中的網絡接口&#xff08;如 ens33 和 lo&#xff09;顯示為“未托管”時&#xff0c;這意味著這些接口沒有被 NetworkManager 正常管理。以下是詳細的分析和解決方案&#xff1a; 1. 檢查 N…

數據庫中關于查詢選課問題的解法

前言 今天上午起來復習了老師上課講的選課問題。我總結了三個解法以及一點注意事項。 選課問題介紹 簡單來說就是查詢某某同學沒有選或者選了什么課。然后查詢出該同學的姓名&#xff0c;學號&#xff0c;課程號&#xff0c;課程名之類的。 sql文件我上傳了。大家可以嘗試練…

Qt圖表庫推薦指南與分析

目錄 一、核心圖表庫橫向對比1. Qt Charts2. QCustomPlot3. QWT (Qt Widgets for Technical Applications)4. KD Chart 二、性能與功能對比矩陣三、選型策略與組合方案1. 通用型需求&#xff1a;2. 技術型場景&#xff1a;3. 企業級開發&#xff1a; 四、未來趨勢與避坑指南1. …

LangGraph 2 - 智能體開發、流式傳輸、模型調用、工具、MCP、上下文、內存、人機協同、部署、UI

文章目錄 使用LangGraph進行智能體開發什么是智能體&#xff1f;核心特性高層構建模塊包生態系統 運行代理基礎用法輸入與輸出輸入格式使用自定義 Agent 狀態 輸出格式流式輸出最大迭代次數其他資源 流式傳輸代理進度監控LLM 令牌工具更新流式多模態傳輸禁用流式傳輸其他資源 L…

Android同屏采集并推送RTMP和啟動輕量級RTSP服務技術實踐

隨著視頻直播需求的不斷提升&#xff0c;如何實現高效的實時視頻采集和推流&#xff0c;成為了開發者們關注的重點。本文將結合大牛直播SDK&#xff0c;介紹如何在 Android 平臺實現 同屏采集、推送 RTMP 流&#xff0c;以及如何啟動輕量級 RTSP 服務&#xff0c;讓開發者快速搭…

如何自定義 Spring MVC 的配置?

我們可以通過實現 WebMvcConfigurer 接口來自定義 Spring MVC (尤其是在 Spring Boot 環境中) 的配置。 以下是通過實現 WebMvcConfigurer 接口的配置方法&#xff1a; 核心&#xff1a;創建一個 Configuration 類并實現 WebMvcConfigurer import org.springframework.conte…

如何提升新加坡SAP實施成功率?解答中企出海的“稅務合規密碼” | 工博科技SAP金牌服務商

目錄 中新雙邊經貿合作概況 ?編輯 新加坡數字化實施核心挑戰 一、財稅合規體系適配 稅務申報差異 會計準則協同 二、人力資源合規管理 薪酬體系配置 數據安全規范 企業實施建議方案 一、系統建設策略 選擇具備以下資質的實施服務商&#xff1a; 構建標準化功能模塊…

人工智能視角下的安全:可視化如何塑造惡意軟件檢測

摘要 惡意軟件是一種持續存在的網絡安全威脅&#xff0c;它越來越多地通過復雜的攻擊向量&#xff0c;瞄準互連的數字系統&#xff0c;如桌面、移動和物聯網平臺。通過利用這些漏洞&#xff0c;攻擊者會損害現代數字生態系統的完整性和彈性。為了應對這一風險&#xff0c;安全…

游戲引擎學習第293天:移動Familiars

回顧并為今天的內容定下基調 我們正在做一款完整的游戲&#xff0c;今天的重點是“移動模式”的正式化處理。目前雖然移動機制大致能運作&#xff0c;但寫法相對粗糙&#xff0c;不夠嚴謹&#xff0c;我們希望將其清理得更規范&#xff0c;更可靠一點。 目前腦邏輯&#xff0…