517. 超级洗衣机

假设有 n 台超级洗衣机放在同一排上。开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的。

在每一步操作中,你可以选择任意 m (1 ≤ m ≤ n) 台洗衣机,与此同时将每台洗衣机的一件衣服送到相邻的一台洗衣机。

给定一个非负整数数组代表从左至右每台洗衣机中的衣物数量,请给出能让所有洗衣机中剩下的衣物的数量相等的最少的操作步数。如果不能使每台洗衣机中衣物的数量相等,则返回 -1。

示例 1:

输入: [1,0,5]

输出: 3

解释:

第一步:    1     0 <-- 5    =>    1     1     4
第二步:    1 <-- 1 <-- 4    =>    2     1     3
第三步:    2     1 <-- 3    =>    2     2     2

示例 2:

输入: [0,3,0]

输出: 2

解释:
第一步:    0 <-- 3     0    =>    1     2     0
第二步:    1     2 --> 0    =>    1     1     1

示例 3:

输入: [0,2,0]

输出: -1

解释:
不可能让所有三个洗衣机同时剩下相同数量的衣物。

提示:

n 的范围是 [1, 10000]。
在每台超级洗衣机中,衣物数量的范围是 [0, 1e5]。

PS:
我移动的最小的次数,无非来源于两种
我当前值和平均值的差
我前面差的和

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

Java实现 LeetCode 517 超级洗衣机相关推荐

  1. LeetCode——517. 超级洗衣机(Super Washing Machines)[困难]——分析及代码(C++)

    LeetCode--517. 超级洗衣机[Super Washing Machines][困难]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码 (3)结果 三. ...

  2. LeetCode 517 超级洗衣机 解法

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/super-washing-machines 著作权归领扣网络所有.商业转载请联系官方授权,非商 ...

  3. leetcode: 517. 超级洗衣机

    题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/super-washing-machines 假设有 n 台超级洗衣机放在同一排上.开始的 ...

  4. 2020-5 leetcode 517. 超级洗衣机

    1.题意:对于这m台洗衣机,是可以分组相邻,然后同时进行衣服的传递的.两台多的洗衣机可以向同一台洗衣机传递衣服,但一台多衣服的洗衣机不能向多台少衣服的洗衣机传递衣服.因为洗衣机个数m任意选所以可以理解 ...

  5. 力扣517. 超级洗衣机

    517. 超级洗衣机 - 力扣(LeetCode) (leetcode-cn.com) class Solution {public int findMinMoves(int[] machines) ...

  6. 517. 超级洗衣机

    517. 超级洗衣机 假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的. 在每一步操作中,你可以选择任意 m (1 <= m <= n) 台洗 ...

  7. 【LeetCode】517. 超级洗衣机 解题报告 (python)

    原题地址:https://leetcode-cn.com/problems/super-washing-machines/submissions/ 题目描述: 假设有 n 台超级洗衣机放在同一排上.开 ...

  8. Java实现 LeetCode 372 超级次方

    372. 超级次方 你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出. 示例 1: 输入: a = 2, b = [3] 输出: 8 示例 2: ...

  9. ​LeetCode刷题实战517:超级洗衣机

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

最新文章

  1. 从零开始撸音乐播放器(源码可下载)
  2. LSTM之父再称ResNet、GAN等五大网络都有他的功劳,网友却说:自负大于引用数
  3. jQuery调用WCF需要注意的一些问题
  4. Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示
  5. 《Java8实战》笔记(14):函数式编程的技巧
  6. Forward框架的逆袭:解析Forward+渲染
  7. 9.4 LSMW程序创建操作手册 第8 9 10 11步
  8. 12v小型电机型号大全_电机型号参数大全,再不怕看不懂型号了
  9. Java串口通信详解(转)
  10. iOS 面试题集合
  11. Java JDK 配置环境变量
  12. Atitit atiplat_reader 基于url阅读器的新特性
  13. 窗函数设计法设计FIR数字滤波器——FDATool
  14. java的学习内容,附高频面试题合集
  15. c#获取文件的MD5值
  16. 浅谈公安350兆集群通信网建设
  17. Ubuntu 关闭 onboard (屏幕键盘应用)开机自启
  18. PHP制作面包屑,thinkPHP制作面包屑方法
  19. 课时1:Vitis HLS的工作机制——Vitis HLS教程
  20. 这10道基础Java面试题,虐哭了多少人

热门文章

  1. adb install 时 日志输出Performing Streamed Instal 一直卡着不动,处理方法
  2. golang Time JSON格式化问题
  3. android编码技巧_我如何使用编码技巧使航空公司取代丢失的婴儿车
  4. 物联网模块ESP8266-01S实现PC端和Android APP同时连接通信
  5. FreeMaker 判空
  6. PHP接入谷歌验证器(Google Authenticator)
  7. Js基础——变量类型和计算
  8. 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...
  9. 嵌入式系统开发笔记0_0:目录
  10. kubesphere master节点执行kubectl get po Unable to connect to the server: Forbidden