我有一个数组,其长度可以被3整除,元素都是降序排列。如果我们将数组元素分组3并取其总和,我应该得到最大值。
例如, int [] input = {9,8,7,6,5,4}
现在,如果我们对数组元素987和654进行分组,我们得到1641的总和。
我必须重新排列元素,以便获得最大值。
因此输出数组必须如下: int [] output = {9,7,5,8,6,4}
现在,如果我们对数组元素975和864进行分组,我们得到1839的总和。
我尝试了但无法得到它可以帮助我解决逻辑。
答案 0 :(得分:0)
我用Python3编写了它。这一点可能是最均匀的数字分布。
inpArr = [5,2,8,4,9,6,7,1,3]
sortedInpArr = sorted(inpArr, reverse=True)
print(sortedInpArr)
buffNum = int(len(sortedInpArr) / 3)
for n in range(0, buffNum):
for i in range(0, len(sortedInpArr)):
if i % buffNum == n:
print(sortedInpArr[i], end="")
print() # new line