LeetCode之Minimum Operations to Make Array Equal(Kotlin)

323 阅读1分钟

问题:


方法: 当n是奇数时,可知操作次数等于n - 1, n - 3, n - 5.. n - n的和,所以通过等差数列计算和为(n - 1) * (n / 2 + 1) / 2;同理n为偶数时也是等差数列,和为n * n * 2 / 8。

class MinimumOperationsToMakeArrayEqual {
    fun minOperations(n: Int): Int {
        if (n % 2 != 0) {
            return (n - 1) * (n / 2 + 1) / 2
        } else {
            return n * n * 2 / 8
        }
    }
}

有问题随时沟通

具体代码实现可以参考Github