image-20211020135000199

解题思路:

考虑到n-1个元素增加1,对于这n-1个元素来说差值的情况是不会变得,因此可以看做是这n-1个元素并没有变而是将最后1个元素减1的情况,这时解题的代码就非常明确了。

以下是C++代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
int minMoves(vector<int>& nums) {
//将n-1个元素增加1相当于让1个元素减1
int min=nums[0];
for(auto temp:nums){
if (temp<min){
min=temp;
}
}
int ans=0;
for(auto temp:nums){
ans+=temp-min;
}
return ans;
}
};