📌  相关文章
📜  在 Array 中完成的最小增量使得 arr[i] 可以使所有其他元素相等(1)

📅  最后修改于: 2023-12-03 15:07:37.172000             🧑  作者: Mango

在 Array 中完成的最小增量使得 arr[i] 可以使所有其他元素相等

问题描述:给定一个整数数组arr,你可以对其中任意一个数执行任意次数的加操作。 问最少几次操作使得arr中的所有元素相等。

解题思路:假设加最少的次数为x,那么最后arr中的所有元素都会变为x + min,其中min为arr中的最小值。 因为x越小,arr中每个元素与x的差值就越小,对应的加操作次数也越少。 因此,x的值为arr中所有元素与最小值的差值之和。

代码实现:

def min_increment(arr):
    """
    :param arr: List[int]
    :return: int
    """
    min_val = min(arr)
    res = 0
    for num in arr:
        res += num - min_val
    return res

时间复杂度:O(n)

空间复杂度:O(1)

以上就是如何在Array中完成的最小增量使得arr[i]可以使所有其他元素相等的介绍和代码实现。