方法一:找規律直接輸出
int minMoves(int* nums, int numsSize) {
int i,sum,tempmin;
sum=tempmin= nums[0];//記住一定要拿到外面,否則循環一次付一次nums[0],sum也要拿到外面,要不然少一個nums[0]
for (i = 1; i < numsSize; i++)
{
if (nums[i] < tempmin)
tempmin = nums[i];
sum += nums[i];
}
printf("%d", tempmin);
return (sum - tempmin*numsSize );
}
方法二:也是一個規律
public class Solution {
public int minMoves(int[] nums) {
Arrays.sort(nums);
int count = 0;
for (int i = nums.length - 1; i > 0; i--) {
count += nums[i] - nums[0];//每個數減去最小的數的差的和就是變化的次數
}
return count;
}
}