leetcode453_Minimum_moves_to_Equal_array
来源:互联网 发布:java图形小程序代码 编辑:程序博客网 时间:2024/06/05 00:22
其实我很想说这就是一道数学问题
很多人都能想到的思路就是,每次把数组中除最大元素之外的元素依次加一,这样最后就能达到元素全部相等的结果了。
但是换一种思路来考虑问题呢?
我们可以把n - 1各元素加一之后再全部减一 [1,2,3] –> [2,3,3] –>[1,2,2] 这就是把数组最大元素减一的结果。这样问题就转化为了,使一个数组中的元素都减小到最小元素值,所以move的次数就是每个元素和最小元素min的差值得总和。
public class leetcode453_Minimum_moves_to_Equal_array { public static void main(String[] args) { // TODO Auto-generated method stub } public static int minMoves(int[] nums) { if(nums.length == 0){ return 0; } if (nums == null){ return 0; } int min = nums[0]; for (int i : nums) { min = Math.min(min, i); } int result = 0; // 已经找到了数组里面最小的元素了 for (int i : nums) { result += (i - min); } return result; }}
阅读全文
0 0
- leetcode453_Minimum_moves_to_Equal_array
- C语言中指针的一些概念及用法
- linux下安装mysql数据库
- java 23种设计模式(转)
- 算法的一些小栗子7(贪心算法)
- const int *p与int *const p
- leetcode453_Minimum_moves_to_Equal_array
- 全排列 123 132 213 231 312 321
- 算法的一些小栗子8(分治算法)
- POJ 3468 A Simple Problem with Integers
- 自顶向下,逐步求精
- Vue.js 请求后台数据
- 吴恩达 神经网络和深度学习 第一部分课程 第二章课后习题 Logistic Regression with a Neural Network mindset
- Android四大组件之Broadcast
- python科学计算库Sympy指南