LeetCode 1403. 非递增顺序的最小子序列. 1403. 非递增顺序的最小子序列
原题链接
简单
作者:
RiseAbove1
,
2023-01-09 20:13:01
,
所有人可见
,
阅读 87
class Solution {
//贪心
public:
//尽可能的取大的,当放入裤兜的财富满足条件时,就break
vector<int> minSubsequence(vector<int>& nums) {
int n = nums.size();
if(n == 1)return nums;
vector<int>ans;
int cur = 0;
//第一次使用accumulate:accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。
int sum = accumulate( nums.begin() , nums.end() ,0);
sort(nums.begin(),nums.end());
for(int i = n-1 ; i >=0 ; i--){
cur += nums[i];
ans.push_back(nums[i]);
if(cur > sum - cur)break;
}
return ans;
}
};