ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

代码随想录训练营第三十期|第三十六天|贪心算法 part05|● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

2026/8/23 1:04:53 拓冰建站 浏览量
代码随想录训练营第三十期|第三十六天|贪心算法 part05|● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

435. 无重叠区间 - 力扣(LeetCode)

class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals, (a, b) -> a[0] - b[0]);int count = 0;for (int i = 1; i < intervals.length; i++) {if (intervals[i][0] < intervals[i - 1][1]) {count++;intervals[i][1] = Math.min(intervals[i - 1][1], intervals[i][1]);}}return count;}
}

763. 划分字母区间 - 力扣(LeetCode)

class Solution {public List<Integer> partitionLabels(String s) {int[] count = new int[26];for (int i = 0; i < s.length(); i++) {count[s.charAt(i) - 'a'] = i;}List<Integer> res = new ArrayList<>();int left = 0;int right = 0;for (int i = 0; i < s.length(); i++) {right = Math.max(right, count[s.charAt(i) - 'a']);if (i == right) {res.add(right - left + 1);left = right + 1;}}return res;}
}

56. 合并区间 - 力扣(LeetCode)

class Solution {public int[][] merge(int[][] intervals) {List<int[]> res = new ArrayList<>();Arrays.sort(intervals, (a, b) -> (a[0] - b[0]));res.add(intervals[0]);for (int i = 1; i < intervals.length; i++) {int[] last = res.get(res.size() - 1);if (intervals[i][0] <= last[1]) {last[1] = Math.max(last[0], intervals[i][1]);} else {res.add(intervals[i]);}}return res.toArray(new int[res.size()][]);}
}