LeetCode 五月打卡-day19

Posted 王六六的IT日常

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 五月打卡-day19相关的知识,希望对你有一定的参考价值。

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

给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。
在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。

参考题解:
【宫水三叶の相信科学系列】经典贪心运用题

class Solution 
    public int minMoves2(int[] nums) 
        Arrays.sort(nums);
        int n = nums.length, t = nums[(n - 1) / 2], ans = 0;
        for (int i : nums) ans += Math.abs(t - i);
        return ans;
    



【负雪明烛】图解算法:为什么选择中位数

class Solution 
    public int minMoves2(int[] nums) 
        Arrays.sort(nums);
        int N = nums.length;
        int mid = nums[N / 2];
        int res = 0;
        for (int n : nums) 
            res += Math.abs(n - mid);
        
        return res;
    




创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于LeetCode 五月打卡-day19的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 五月打卡-day01

LeetCode 五月打卡-day07

LeetCode 五月打卡-day20

LeetCode 五月打卡-day08

LeetCode 五月打卡-day13

LeetCode 五月打卡-day06