一种思路是实例代码的思路,即将数列按 end 为主值的升序排列(start为降序),因为排列的时候其实只是看结尾值的影响,这样的话每次循环时就不需要求取最小值了,因为赋值给 rear 的永远是最小的结尾值,给跪了。 class Solution {public int eraseOverlapIntervals(int[][] intervals) {if (intervals.length =
文章目录 一、题目二、题解 一、题目 Given an array of intervals intervals where intervals[i] = [starti, endi], return the minimum number of intervals you need to remove to make the rest of the intervals non-
leetcode 1031. Maximum Sum of Two Non-Overlapping Subarrays 题意:给你一个数组,再给你一个L,M,求在这个数组里面,两个不重合的长度分别为L,M的最的最大和。 思路: 先预处理一个dp[i][2]; dp[i][0]表示以i为开头,长度为L的值。 dp[i][1]表示以i为开头,长度为M的值。 在两层for,遍历i,j分别表示