问题:
![]()
方法:
首先,数学上中位数就存在距离和最小的特点,所以找出中位数然后遍历所有元素和中位数的距离和即得到最终结果,得到中位数的方式可以通过排序,然后获取数组中间元素即为中位数。
import kotlin.math.abs
class MinimumMovesToEqualArrayElementsII {
fun minMoves2(nums: IntArray): Int {
nums.sort()
val mid = nums[nums.lastIndex / 2]
var moves = 0
for (num in nums) {
moves += abs(num - mid)
}
return moves
}
}
fun main(args: Array<String>) {
val input = intArrayOf(1,2,3)
val minimumMovesToEqualArrayElementsII = MinimumMovesToEqualArrayElementsII()
print(minimumMovesToEqualArrayElementsII.minMoves2(input))
}
有问题随时沟通
网友评论