本文主要是介绍力扣面试150 插入区间 模拟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem: 57. 插入区间
👨🏫 代码随想录
模拟
⏰ 时间复杂度: O ( n ) O(n) O(n)
class Solution {public int[][] insert(int[][] intervals, int[] newInterval) {int idx = 0;List<int[]> res = new ArrayList<>();while (idx < intervals.length && intervals[idx][1] < newInterval[0]) { // 寻找需要合并的区间res.add(intervals[idx]);idx++;}while (idx < intervals.length && intervals[idx][0] <= newInterval[1]) { // 待合并区间头小于当前区间尾newInterval[0] = Math.min(newInterval[0], intervals[idx][0]); // 更新待合并区间头newInterval[1] = Math.max(newInterval[1], intervals[idx][1]); // 更新待合并区间尾idx++;}res.add(newInterval);// 加入合并区间while (idx < intervals.length) { // 加入剩余区间res.add(intervals[idx++]);}return res.toArray(new int[res.size()][]);}
}
这篇关于力扣面试150 插入区间 模拟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!