普通视图

发现新文章,点击刷新页面。
今天 — 2025年11月29日首页

3512. 使数组和能被 K 整除的最少操作次数

作者 stormsunshine
2025年4月14日 06:15

解法

思路和算法

每次操作可以将数组 $\textit{nums}$ 中的一个元素值减少 $1$,因此为了计算使数组元素和能被 $k$ 整除的最少操作次数,需要考虑数组元素和的最小减少量。考虑数组 $\textit{nums}$ 的元素和除以 $k$ 的余数 $r$。

  • 如果 $r = 0$,则数组元素和已经能被 $k$ 整除,不需要执行操作。

  • 如果 $r > 0$,则至少要将数组元素和减少 $r$ 才能被 $k$ 整除,因此需要执行 $r$ 次操作。

因此,对于 $0 \le r < k$ 的任意余数 $r$,使数组元素和能被 $k$ 整除的最少操作次数是 $r$。

计算数组 $\textit{nums}$ 的元素和除以 $k$ 的余数,即为使数组元素和能被 $k$ 整除的最少操作次数。

代码

###Java

class Solution {
    public int minOperations(int[] nums, int k) {
        return Arrays.stream(nums).sum() % k;
    }
}

###C#

public class Solution {
    public int MinOperations(int[] nums, int k) {
        return nums.Sum() % k;
    }
}

复杂度分析

  • 时间复杂度:$O(n)$,其中 $n$ 是数组 $\textit{nums}$ 的长度。需要遍历数组一次计算元素和。

  • 空间复杂度:$O(1)$。

❌
❌