思路:先大到小排序,然后值相加,判断条件
class Solution {
public:
vector<int> minSubsequence(vector<int>& nums) {
sort(nums.begin(), nums.end(), cmp);
vector<int> res;
int sum=0;
for(int i=0;i<nums.size();i++)
sum+=nums[i];
int tmp=0;
for(int i=0;i<nums.size();i++){
res.push_back(nums[i]);
tmp += nums[i];
if(tmp>sum-tmp)
return res;
}
return res;
}
private:
static bool cmp(const int& a, const int& b){
return a>b;
}
};