📌  相关文章
📜  通过删除所有出现的一位数字来最小化给定数组的总和(1)

📅  最后修改于: 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]