您的位置:首页 > 编程语言 > C语言/C++

leetcode 462 Minimum Moves to Equal Array Elements II C++

2016-12-20 17:12 453 查看
找到中位数,计算每一个数字和中位数相减的绝对值的和即可

int minMoves2(vector<int>& nums) {
int count = 0;
if (nums.size() == 0) return count;
sort(nums.begin(),nums.end());
int midNum = nums[nums.size()/2];
for (int i = 0;i<nums.size();i++) {
count += abs(midNum - nums[i]);
}
return count;
}


看了discussion,用了两头减的方法,会少一半的循环次数,但是看运算时间和我差不多,不知道为什么。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  LeetCode c++ 算法