题目
解题思路
直接找最优解 2+4+6+…+ai当最后一个要加的数小于前一个数时,后边的数加在前一个数上。
即当a_i<finalSum-sum(a_1+a_2+a_3+…+a_i-1)时,a_i=a_i+finalSum-sum(a_1+a_2+a_3+…+a_i-1)
代码如下
class Solution:
def maximumEvenSplit(self, finalSum: int):
list_out = []
i = 2
sum_1 = 0
if finalSum % 2 != 0:
return []
else:
while finalSum - sum_1 >= i:
sum_1 += i
list_out.append(i)
i += 2
list_out[len(list_out)-1] += finalSum-sum_1
return list_out