思路:排序
实现细节:当一些元素能构造区间[0, x]时,当加入y后,可构造的新区间为[y,x+y],如果y<=x+1则可以扩展更大的区间:[0,x+y],否则不可以。
难点:如果y不可以扩展,则>y的数更不可以扩展,所以需要排序
class Solution {
public:
int getMaximumConsecutive(vector<int>& coins) {
sort(coins.begin(), coins.end());
int r = 0;
for (int a : coins) {
if (a <= r + 1) r += a;
else break;;
}
return r + 1;
}
};