Given a non-empty integer array, find the minimum number of moves required to make all array elements equal, where a move is incrementing a selected element by 1 or decrementing a selected element by 1. You may assume the array's length is at most 10,000.

Example:

Input:
[1,2,3] Output:
2 Explanation:
Only two moves are needed (remember each move increments or decrements one element): [1,2,3] => [2,2,3] => [2,2,2]

给定一个非空的整型数组,找到使所有数组元素相等所需的最小移动次数,移动是将所选元素递增1或将选定元素递减1。您可以假设阵列的长度最多为10,000。

例:

输入:
[1,2,3] 输出:
2 说明:
只需要两个移动(记住每个移动增加或减少一个元素):
[1,2,3] => [2,2,3] => [2 ,2,2]

(1)思想1:首先对数组进行排序sort(),然后找到其中间值mid = nums[nums.size()/2],然后再对“其余值减去中间值”进行一个求和,便是最终的结果。

C++:

 class Solution {
public:
int minMoves2(vector<int>& nums) {
sort(nums.begin(),nums.end());
int mid=nums[nums.size()/];
int result=;
for(int i=;i<nums.size();i++)
result=result+abs(nums[i]-mid);
return result;
}
};

python:

 class Solution:
def minMoves2(self, nums):
nums.sort()
result=0
mid=nums[int(len(nums)/2)]
for x in nums:
result=result+abs(x-mid)
return result

最新文章

  1. PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置
  2. [51单片机] 以PWM控制直流电机为例建一个简单的51工程框架
  3. Leetcode: Delete Node in a BST
  4. C#入门篇6-10:字符串操作 DateTime操作
  5. 【Hibernate 7】浅谈Hibernate的缓存机制
  6. SRM 588 D2 L2:GUMIAndSongsDiv2,冷静思考,好的算法简洁明了
  7. Win7 64 bit 激活工具
  8. Thinkphp与CI的区别
  9. java操作Jacoco合并dump文件
  10. 未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
  11. [翻译]LVM中逻辑卷的最大大小限制
  12. 使用Windows任务计划程序运行Windows PowerShell脚本
  13. day9文件操作---从即日起时景丽阳老师给我们讲课
  14. 牛客练习赛37-筱玛的字符串-DP递推
  15. pt-query-digest详解慢查询日志(转)
  16. akka cluster 初体验
  17. 第二阶段——个人工作总结DAY09
  18. springboot日志框架
  19. PAT 1078 字符串压缩与解压(20)(代码+思路)
  20. 6/9 sprint2 看板和燃尽图的更新

热门文章

  1. CSS 滤镜效果
  2. 转载 Python 安装setuptools和pip工具操作方法(必看)
  3. iOS多线程方案总结及使用详解
  4. [转]WinForm实现win7 Aero磨砂效果介绍
  5. hbase设计方案1
  6. Java 23 种设计模式的分类和功能
  7. linux 三剑客命令(grep,sed ,awk)
  8. 循环读取文件夹中的图片matlab代码
  9. 【html、CSS、javascript-6】JavaScript
  10. 记一次PHP 数组基本用法