Formatted question description: https://leetcode.ca/all/1304.html
1304. Find N Unique Integers Sum up to Zero (Easy)
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
Related Topics:
Array
Solution 1.
// OJ: https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero/
// Time: O(N)
// Space: O(1)
class Solution {
public:
vector<int> sumZero(int n) {
vector<int> ans;
if (n % 2) ans.push_back(0), --n;
for (int i = 1; i <= n / 2; ++i) {
ans.push_back(i);
ans.push_back(-i);
}
return ans;
}
};
Java
-
class Solution { public int[] sumZero(int n) { int[] array = new int[n]; if (n == 1) array[0] = 0; else { if (n % 2 == 0) { for (int i = 1; i < n; i += 2) { array[i - 1] = -i; array[i] = i; } } else { for (int i = 1; i < n; i += 2) { array[i] = i; array[i + 1] = -i; } } } return array; } }
-
// OJ: https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero/ // Time: O(N) // Space: O(1) class Solution { public: vector<int> sumZero(int n) { vector<int> ans; if (n % 2) ans.push_back(0), --n; for (int i = 1; i <= n / 2; ++i) { ans.push_back(i); ans.push_back(-i); } return ans; } };
-
print("Todo!")