517. 超级洗衣机 - 力扣(LeetCode) (leetcode-cn.com)

class Solution {public int findMinMoves(int[] machines) {int sum = 0;int avg = 0;int n = machines.length;for (int machine : machines) {sum += machine;}if(sum%n !=0){return -1;}avg = sum/n;int[] help = new int[n];int res = 0;for (int i = 0; i < help.length; i++) {help[i] = machines[i]-avg;//这步不加abs,因为正数不可以同时分配给左右两侧,但是负数可以由左右两侧同时补充//同时最初的数组也是需要维护max的//因为当做差后出现左右两侧为负中间为正的时候,//正数不可以同时分配给左右两侧,所以最大的次数是正数的值。res = Math.max(res,help[i]);}for (int i = 0; i < help.length-1; i++) {res = Math.max(res,Math.abs(help[i]));help[i+1] = help[i]+help[i+1];}return res;}
}

思路来源于力扣用户:tracywwp

解题思路: 有四个洗衣机,装的衣服数为[0, 0, 11, 5],最终的状态会变为[4, 4, 4, 4],那么我们将二者做差,得到*[-4, -4, 7, 1],这里负数表示当前洗衣机还需要的衣服数,正数表示当前洗衣机多余的衣服数。我们要做的是*要将这个差值数组每一项都变为0,对于第一个洗衣机来说,需要四件衣服可以从第二个洗衣机获得,那么就可以 把-4移给二号洗衣机,那么差值数组变为[0, -8, 7, 1],此时二号洗衣机需要八件衣服,那么至少需要移动8次。然后二号洗衣机把这八件衣服从三号洗衣机处获得,那么差值数组变为[0, 0, -1, 1],此时三号洗衣机还缺1件,就从四号洗衣机处获得,此时差值数组成功变为了[0, 0, 0, 0],成功。那么移动的最大次数就是差值 数组中出现的绝对值最大的数字,8次

力扣517. 超级洗衣机相关推荐

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

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

  2. 517. 超级洗衣机

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

  3. Java实现 LeetCode 517 超级洗衣机

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

  4. LeetCode 517 超级洗衣机 解法

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

  5. leetcode: 517. 超级洗衣机

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

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

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

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

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

  8. 面试题7——超级洗衣机

    题目 力扣链接 超级洗衣机 代码 package com.harrison.class02;// 力扣链接:https://leetcode-cn.com/problems/super-washing ...

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

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

最新文章

  1. 使用NHibernate绑定页面数据时,出现未能加载视图状态,正在向其中加载视图状态。。。。的Bug...
  2. 概率论-2.6 随机变量函数的分布
  3. consul的安装配置 一centos7环境
  4. hdu3947 给一些已知(需费用)路径去覆盖一些边 //预先加灌法费用流
  5. 区块链 Fisco bcos 智能合约(17)-区块链的速度困境:“贵”在信任,“慢”得其所
  6. c#之有参和无参构造函数,扩展方法
  7. 萤火虫算法 java_AGSO 萤火虫算法
  8. javaERP跨境电商平台,跨境电商源码,电商ERP源码,ERP源码
  9. Digi Digimesh无线自组网协议和模块介绍
  10. js实现京东快递单号查询效果
  11. curl做IP代理刷百度广告的计费问题
  12. 2023年最新谷歌Google帐号Gmail邮箱账号怎么注册成功的方法与教程?
  13. ButterKnife被弃用,ViewBinding才是findView的未来?
  14. 临时执法卡点的设置原理与选址分析
  15. 张飞流水帐(完整版)
  16. 单词接龙c++题解,请勿抄袭
  17. weidl x DeepRec:热门微博推荐框架性能提升实战
  18. 《C语言程序教程》课后编程题
  19. 工具条Toolstrip应用
  20. C#批量剪切视频文件

热门文章

  1. Linux远程连接,ip地址本机可以ping通,但finalshell无法连接的解决方法记录
  2. gdb 如何调试内存地址
  3. ffmpeg 去水印,使用GPU让效率提升5倍
  4. 安装fio命令linux,Linux中fio命令起什么作用呢?
  5. div contenteditable disabled 失效问题
  6. 新版MyDockFinder不再仿Mac??一招教你解决
  7. 无法启动计算机的病毒是,电脑中病毒了,应用程序打不开,这是什么病毒
  8. Java蓝桥杯——梅森素数
  9. 雅礼省选集训游记(6月20日——6月28日)
  10. 数据结构 排序 思考题1