给定一个长度为 n 的非空整数数组,找到让数组所有元素相等的最小移动次数。每次移动可以使 n - 1 个元素增加 1。 复制代码
示例:
输入: [1,2,3] 输出: 3 解释: 只需要3次移动(注意每次移动会增加两个元素的值): [1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 复制代码
思考:
这道题可以反过来想,按题意将n-1个元素加1,其实可以当做给剩下的那个数减1。 加一:[1,2,3] => [2,3,3] => [3,4,3] => [4,4,4] 减一:[1,2,3] => [1,2,2] => [1,1,2] => [1,1,1] 所以先求出最小的元素,在求出所有元素与最小元素的差值的和,即为最小移动次数。 复制代码
实现:
class Solution { public int minMoves(int[] nums) { int min = nums[0]; int count = 0; for(int i = 0;i<nums.length;i++){ min = Math.min(nums[i],min); } for(int i = 0;i<nums.length;i++){ count += nums[i] - min; } return count; } }复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NSMutableArray 空数组相等, 导致 NSOutlineView 无法正确展开
- 【重温基础】18.相等性判断
- php比较两个浮点数是否相等
- CSS Flexbox 之間距相等
- c# – 比较两个(Integer)列表是否相等
- 在 Python 中判断两个浮点数的相等
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Unity游戏设计与实现
[日]加藤政树 / 罗水东 / 人民邮电出版社 / 2015-2 / 79.00元
本书出自日本知名游戏公司万代南梦宫的资深开发人员之手,面向初级游戏开发人员,通过10个不同类型的游戏实例,展示了真正的游戏设计和实现过程。本书的重点并不在于讲解Unity的各种功能细节,而在于核心玩法的设计和实现思路。每个实例都从一个idea 开始,不断丰富,自然而然地推出各种概念,引导读者思考必要的数据结构和编程方法。掌握了这些思路,即便换成另外一种引擎,也可以轻松地开发出同类型的游戏。 ......一起来看看 《Unity游戏设计与实现》 这本书的介绍吧!