编程语言
首页 > 编程语言> > LeetCode517 超级洗衣机 Java

LeetCode517 超级洗衣机 Java

作者:互联网

思路 :

  1. 贪心算法。算出衣服平均值,平均值非整数直接返回**-1**,高于平均值记为正数,低于记为负数,再将其相加取绝对值中的最大值即为最小操作数。

示例一:

class Solution {
    public int findMinMoves(int[] machines) {
        int sum = 0;
        for (int i = 0; i < machines.length; i++) {
            sum += machines[i];
        }
        int n = machines.length;
        if (sum % n != 0) {
            return -1;
        }
        int avg = sum / n;
        int count = 0, s = 0;
        for (int num : machines) {
            num -= avg;
            s += num;
            count = Math.max(count, Math.max(Math.abs(s), num));
        }
        return count;
    }
}

结果:

在这里插入图片描述

标签:count,Java,示例,int,sum,洗衣机,LeetCode517,num,machines
来源: https://blog.csdn.net/qq_40742615/article/details/120548801