您的位置:首页 > 其它

Leetcode Minimum Moves to Equal Array Elements

2016-12-31 02:44 561 查看
题意:对一个含有n个元素的数组,每次只能改动n-1 个元素,求最少改动多少次能够使得所有元素相同。

思路:每次改动,将最小的元素改成和最大的元素一样。可以得到改动的总次数是所有元素与最小元素的差之和。

class Solution {
public:
int minMoves(vector<int>& nums) {
int minn = INT_MAX;
int p = 0;
for(int i = 0; i < nums.size(); ++ i) {
if(minn > nums[i]) {
minn = nums[i];
p = i;
}
}

int n = 0;
for(int i = 0; i < nums.size(); ++ i) {
n += (nums[i] - minn);
}

return n;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode