Leetcode JAVA刷刷站(57)插入区间

时间:2025-03-29 18:42:08
  • import ;
  • import ;
  • public class Solution {
  • public int[][] insert(int[][] intervals, int[] newInterval) {
  • List<int[]> merged = new ArrayList<>();
  • int i = 0;
  • int n = ;
  • // 添加所有不与 newInterval 重叠的区间到 merged
  • while (i < n && intervals[i][1] < newInterval[0]) {
  • (intervals[i]);
  • i++;
  • }
  • // 合并重叠的区间
  • while (i < n && intervals[i][0] <= newInterval[1]) {
  • newInterval[0] = (newInterval[0], intervals[i][0]);
  • newInterval[1] = (newInterval[1], intervals[i][1]);
  • i++;
  • }
  • // 添加合并后的 newInterval
  • (newInterval);
  • // 添加剩余的不重叠区间
  • while (i < n) {
  • (intervals[i]);
  • i++;
  • }
  • // 将 List 转换为二维数组
  • int[][] result = new int[()][2];
  • for (i = 0; i < (); i++) {
  • result[i] = (i);
  • }
  • return result;
  • }
  • public static void main(String[] args) {
  • Solution solution = new Solution();
  • int[][] intervals = {{1, 3}, {6, 9}};
  • int[] newInterval = {2, 5};
  • int[][] mergedIntervals = (intervals, newInterval);
  • // 打印合并后的区间
  • for (int[] interval : mergedIntervals) {
  • ((interval));
  • }
  • }
  • }