📅  最后修改于: 2023-12-03 14:58:04.391000             🧑  作者: Mango
给定一个整数数组,通过删除数组中的某个数字来最小化数组的总和。
我们可以将问题转化为每一次删除一个数字并计算数组的总和,最后输出总和最小的数组。
def delete_and_minimize_array(arr):
min_sum = sum(arr)
for i in range(len(arr)):
temp_arr = arr[:i] + arr[i+1:]
temp_sum = sum(temp_arr)
if temp_sum < min_sum:
min_sum = temp_sum
minimized_arr = temp_arr
return minimized_arr
时间复杂度:O(n^2)
空间复杂度:O(n)
arr = [4, 2, 5, 1, 3]
minimized_arr = delete_and_minimize_array(arr)
print(minimized_arr)
# 输出 [4, 5, 3]