• Leetcode 462.最少移动次数使数组元素相等


    最少移动次数使数组元素相等

    给定一个非空整数数组,找到使所有数组元素相等所需的最小移动数,其中每次移动可将选定的一个元素加1或减1。 您可以假设数组的长度最多为10000。

    例如:

    输入:

    [1,2,3]

    输出:

    2

    说明:

    只有两个动作是必要的(记得每一步仅可使其中一个元素加1或减1):

    [1,2,3] => [2,2,3] => [2,2,2]

    排序之后,从两边往中间走,最大和最小之间的差距,是一定要填补上的,不管+1 还是 -1,所以最后都等于中位数。
    
     1 import java.util.Arrays;
     2 
     3 class Solution {
     4     public int minMoves2(int[] nums) {
     5         Arrays.sort(nums);
     6         int i=0;
     7         int j=nums.length-1;
     8         int cnt=0;
     9         while(i<j){
    10             cnt+=nums[j--]-nums[i++];
    11         }
    12         return cnt;
    13     }
    14 }
     
  • 相关阅读:
    变量和数据类型
    Manager 多进程之间的数据共享
    多进程之间的数据传输 Pipe
    多进程
    消费者 生产者
    queue 队列优先级
    Python 最难的问题
    threading 多线程
    线程进程概述
    倒计时器 小玩意
  • 原文地址:https://www.cnblogs.com/kexinxin/p/10280221.html
Copyright © 2020-2023  润新知