453. Minimum Moves to Equal Array Elements

每次一定是选择最小的n-1个数+1。直接做会超时。

换一种思路,对最小的n-1个数+1,等价于对最大的数-1,问题就很简单了。

class Solution {
public:
    int minMoves(vector<int>& nums) {
        int min_num=INT_MAX, count=0;
        for(int i=0;i<nums.size();++i) min_num=min(min_num,nums[i]);
        for(int i=0;i<nums.size();++i) count+=nums[i]-min_num;
        return count;
    }
};

 

posted @ 2018-06-06 11:36  約束の空  阅读(92)  评论(0)    收藏  举报