Given an integer n, return any array containing n unique integers such that they add up to 0.
Example 1:
Input: n = 5
Output: [-7,-1,1,3,4]
Explanation: These arrays also are accepted [-5,-1,1,2,3] , [-3,-1,2,-2,4].
Example 2:
Input: n = 3
Output: [-1,0,1]
Example 3:
Input: n = 1
Output: [0]
Constraints:
1 <= n <= 1000
代码
Approach #1
A[i] = i * 2 - n + 1
classSolution {publicint[] sumZero(int n) {int[] A =newint[n];for (int i =0; i < n; i++) {A[i] = i *2- n +1; }return A; }}
Approach #2 Two Points
publicint[] sumZero(int n) {int[] res =newint[n];int left =0, right = n -1, start =1;while (left < right) { // in the middle is zero res[left++] = start; res[right--] =-start; start++; }return res; }