Leetcode 1403. Minimum Subsequence in Non-Increasing Order
题目链接: Leetcode 1403. Minimum Subsequence in Non-Increasing Order
难度:easy
题目大意:
输入一个数组,找出符合题意的子数组并返回。
思路:
将输入的数组进行升序排序,对排序后的数组从后往前扫描,将元素不断加入列表中,直到列表中元素的和大于数组剩余元素的值,返回列表。
代码
class Solution {
public List<Integer> minSubsequence(int[] nums) {
List<Integer> res=new ArrayList<Integer>();
Arrays.sort(nums);
int sum=0;
for(int a:nums){
sum+=a;
}
int insum=0;
int outsum=sum;
int i=nums.length-1;
while(insum<=outsum){
insum+=nums[i];
outsum-=nums[i];
res.add(nums[i]);
i--;
}
return res;
}
}