LeetCode 462. 最少移动次数使数组元素相等 II(数学)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 462. 最少移动次数使数组元素相等 II(数学)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定一個(gè)非空整數(shù)數(shù)組,找到使所有數(shù)組元素相等所需的最小移動數(shù),其中每次移動可將選定的一個(gè)元素加1或減1。 您可以假設(shè)數(shù)組的長度最多為10000。
例如: 輸入: [1,2,3] 輸出: 2說明: 只有兩個(gè)動作是必要的(記得每一步僅可使其中一個(gè)元素加1或減1): [1,2,3] => [2,2,3] => [2,2,2]來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/minimum-moves-to-equal-array-elements-ii
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
- 假設(shè)中間的數(shù)是x,那么一對數(shù) a,b 的移動次數(shù)為 x-a + b-x = b-a 跟 x 無關(guān),而且是最小的,當(dāng) x 不在 a,b 區(qū)間內(nèi),移動次數(shù)就會增加
- 所以選取中間位置的數(shù)作為 x ,即可得到最小的移動次數(shù)
總結(jié)
以上是生活随笔為你收集整理的LeetCode 462. 最少移动次数使数组元素相等 II(数学)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1334. 阈值距离内
- 下一篇: LeetCode 1016. 子串能表示