Java实现 LeetCode 517 超级洗衣机
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 超级洗衣机相关推荐
- LeetCode——517. 超级洗衣机(Super Washing Machines)[困难]——分析及代码(C++)
LeetCode--517. 超级洗衣机[Super Washing Machines][困难]--分析及代码[C++] 一.题目 二.分析及代码 1. 贪心 (1)思路 (2)代码 (3)结果 三. ...
- LeetCode 517 超级洗衣机 解法
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/super-washing-machines 著作权归领扣网络所有.商业转载请联系官方授权,非商 ...
- leetcode: 517. 超级洗衣机
题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/super-washing-machines 假设有 n 台超级洗衣机放在同一排上.开始的 ...
- 2020-5 leetcode 517. 超级洗衣机
1.题意:对于这m台洗衣机,是可以分组相邻,然后同时进行衣服的传递的.两台多的洗衣机可以向同一台洗衣机传递衣服,但一台多衣服的洗衣机不能向多台少衣服的洗衣机传递衣服.因为洗衣机个数m任意选所以可以理解 ...
- 力扣517. 超级洗衣机
517. 超级洗衣机 - 力扣(LeetCode) (leetcode-cn.com) class Solution {public int findMinMoves(int[] machines) ...
- 517. 超级洗衣机
517. 超级洗衣机 假设有 n 台超级洗衣机放在同一排上.开始的时候,每台洗衣机内可能有一定量的衣服,也可能是空的. 在每一步操作中,你可以选择任意 m (1 <= m <= n) 台洗 ...
- 【LeetCode】517. 超级洗衣机 解题报告 (python)
原题地址:https://leetcode-cn.com/problems/super-washing-machines/submissions/ 题目描述: 假设有 n 台超级洗衣机放在同一排上.开 ...
- Java实现 LeetCode 372 超级次方
372. 超级次方 你的任务是计算 ab 对 1337 取模,a 是一个正整数,b 是一个非常大的正整数且会以数组形式给出. 示例 1: 输入: a = 2, b = [3] 输出: 8 示例 2: ...
- LeetCode刷题实战517:超级洗衣机
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
最新文章
- 从零开始撸音乐播放器(源码可下载)
- LSTM之父再称ResNet、GAN等五大网络都有他的功劳,网友却说:自负大于引用数
- jQuery调用WCF需要注意的一些问题
- Arcgis for JS扩展GraphicLayer实现区域对象的聚类统计与展示
- 《Java8实战》笔记(14):函数式编程的技巧
- Forward框架的逆袭:解析Forward+渲染
- 9.4 LSMW程序创建操作手册 第8 9 10 11步
- 12v小型电机型号大全_电机型号参数大全,再不怕看不懂型号了
- Java串口通信详解(转)
- iOS 面试题集合
- Java JDK 配置环境变量
- Atitit atiplat_reader 基于url阅读器的新特性
- 窗函数设计法设计FIR数字滤波器——FDATool
- java的学习内容,附高频面试题合集
- c#获取文件的MD5值
- 浅谈公安350兆集群通信网建设
- Ubuntu 关闭 onboard (屏幕键盘应用)开机自启
- PHP制作面包屑,thinkPHP制作面包屑方法
- 课时1:Vitis HLS的工作机制——Vitis HLS教程
- 这10道基础Java面试题,虐哭了多少人
热门文章
- adb install 时 日志输出Performing Streamed Instal 一直卡着不动,处理方法
- golang Time JSON格式化问题
- android编码技巧_我如何使用编码技巧使航空公司取代丢失的婴儿车
- 物联网模块ESP8266-01S实现PC端和Android APP同时连接通信
- FreeMaker 判空
- PHP接入谷歌验证器(Google Authenticator)
- Js基础——变量类型和计算
- 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...
- 嵌入式系统开发笔记0_0:目录
- kubesphere master节点执行kubectl get po Unable to connect to the server: Forbidden