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;
}
};
思路:每次改动,将最小的元素改成和最大的元素一样。可以得到改动的总次数是所有元素与最小元素的差之和。
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] Minimum Moves to Equal Array Elements II 最少移动次数使数组元素相等之二
- 【LeetCode-462】Minimum Moves to Equal Array Elements II
- LeetCode: Minimum Moves to Equal Array Elements
- [leetcode][462] Minimum Moves to Equal Array Elements II
- Leetcode 453 Minimum Moves to Equal Array Elements
- Leetcode 之 Minimum Moves to Equal Array Elements II
- [Leetcode] 453 Minimum Moves to Equal Array Elements
- LeetCode Minimum Moves to Equal Array Elements
- LeetCode "Minimum Moves to Equal Array Elements"
- LeetCode Minimum Moves to Equal Array Elements II
- leetcode oj java Minimum Moves to Equal Array Elements
- Leetcode-453 Minimum Moves to Equal Array Elements
- LeetCode: Minimum Moves to Equal Array Elements II
- leetcode Minimum Moves to Equal Array Elements
- Leetcode: Minimum Moves to Equal Array Elements
- [LeetCode]Minimum Moves to Equal Array Elements II(Java)
- Leetcode 462 Minimum Moves to Equal Array Elements II
- [leetcode 453]Minimum Moves to Equal Array Elements
- [LeetCode]Minimum Moves to Equal Array Elements(Java)
- 【LeetCode】Minimum Moves to Equal Array Elements 解题报告