一遍过。首先把区间按左端点排序,然后右端点有两种情况。 假设是a区间,b区间。。。这样排列的顺序,那么 假设a[1]>b[0],如果a[1]>b[1],就应该以b[1]为准,否则以a[1]为准。 class Solution {public:static bool cmp(vector<int>& a ,vector<int>& b){return a[0]<b[0];}int era
738.单调递增的数字 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 示例 1: 输入: N = 10输出: 9 示例 2: 输入: N = 1234输出: 1234 示例 3: 输入: N = 332输出: 299 class
1049. 最后一块石头的重量 II - 力扣(LeetCode) class Solution {public int lastStoneWeightII(int[] stones) {int sum = 0;for (int n : stones) {sum += n;}int target = sum / 2;int[] dp = new int[target + 1];for (int
1049.最后一块石头的重量II 与昨天的分割等和子集其实是同样的题 分为两堆后,要求差值最小,其实就是分堆最大,并且范围是[0,sum/2] This question eaquals to partition an array into 2 subsets whose difference is minimal (1) S1 + S2 = S (2) S1 - S2 = diff