【发布时间】:2019-04-26 14:11:42
【问题描述】:
给定一个数组 arr,我们希望它通过递增 arr 中的任何重复元素来使其唯一,从而使 arr 唯一元素的总和最小。换句话说,如果 arr 中的两个或多个元素不是唯一的,我们必须将重复元素的值增加到其他一些数字,这样 arr 由唯一元素组成,它们的总和等于一个小数字尽可能。
例如,如果 arr = [3, 2, 1, 2, 7],则 arr unique = [3, 2, 1, 4, 7] 及其元素之和的最小值为 3 + 2 + 1 + 4 + 7 = 17。
我的方法。没有执行
def inc_dup(a):
i = 0
while i < len(a):
j = i + 1
while j < len(a):
if a[i] == a[j]:
a[j] + 1
else:
j += 1
i += 1
s = [3,2,4,5,4,3,6]
inc_dup(s)
print(s)
print(sum(s))
【问题讨论】:
标签: python arrays list while-loop sum