Minimum Operations to Make Array Equal

给一个只有奇数的从1开始的递增数组, 给一个operation, 可以让后边的数字变大1前边的数字变小1. 求多少个operation后, 可以让数组的数字全部相等.

这个题就是观察一下, 比如数字第一个数字肯定是1, 那么最后一个数字是2*(n – 1) + 1 = 2*n – 1; 然后一次变换只能加减1, 那么就求差然后除2即可.

class Solution {
public:
    int minOperations(int n) {
        int res = 0;
        int i = 1;
        int j = 2*(n - 1) + 1;
        while(i < j){
            res += (j - i) / 2;
            i+=2;
            j-=2;
        }
        return res;
    }
};