// 2178. 拆分成最多数目的偶整数之和
class Solution {
public List<Long> maximumEvenSplit(long finalSum) {
List<Long> ans = new ArrayList<Long>(0);
// 如果是奇数则直接返回空lisjt
if(1 == (finalSum & 1))
return ans;
long aux = finalSum;
// 默认从偶数2开始
long even = 2;
while(aux >= even){
// 将本次满足的偶数加入
ans.add(even);
// 减小当前可以使用的基数
aux -= even;
// 累加偶数
even += 2;
}
// 检查是否存在剩余数字,如果存在直接将这个数字加到ans中最后一个元素上
if(aux > 0){
int ind = ans.size() - 1;
long val = ans.get(ans.size() - 1) + aux;
ans.set(ind, val);
}
return ans;
}
}
12-20
09-02
516
07-11
568