diff --git a/problems/0435.无重叠区间.md b/problems/0435.无重叠区间.md index a92aae7e..ae037f17 100644 --- a/problems/0435.无重叠区间.md +++ b/problems/0435.无重叠区间.md @@ -186,27 +186,27 @@ Java: class Solution { public int eraseOverlapIntervals(int[][] intervals) { if (intervals.length < 2) return 0; + Arrays.sort(intervals, new Comparator() { @Override public int compare(int[] o1, int[] o2) { - if (o1[0] != o2[0]) { + if (o1[1] != o2[1]) { return Integer.compare(o1[1],o2[1]); } else { - return Integer.compare(o2[0],o1[0]); + return Integer.compare(o1[0],o2[0]); } } }); - int count = 0; + int count = 1; int edge = intervals[0][1]; for (int i = 1; i < intervals.length; i++) { - if (intervals[i][0] < edge) { - count++; - } else { + if (edge <= intervals[i][0]){ + count ++; //non overlap + 1 edge = intervals[i][1]; } } - return count; + return intervals.length - count; } } ``` diff --git a/problems/0494.目标和.md b/problems/0494.目标和.md index 93e90356..63ace2a7 100644 --- a/problems/0494.目标和.md +++ b/problems/0494.目标和.md @@ -248,6 +248,7 @@ class Solution { for (int i = 0; i < nums.length; i++) sum += nums[i]; if ((target + sum) % 2 != 0) return 0; int size = (target + sum) / 2; + if(size < 0) size = -size; int[] dp = new int[size + 1]; dp[0] = 1; for (int i = 0; i < nums.length; i++) {