Welcome to Subscribe On Youtube
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.
-
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; } } ############ class Solution { public int[] sumZero(int n) { int[] ans = new int[n]; for (int i = 1; i < n; ++i) { ans[i] = i; } ans[0] = -(n * (n - 1) / 2); return ans; } }
-
// 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; } };
-
class Solution: def sumZero(self, n: int) -> List[int]: presum = 0 res = [] for i in range(1, n): res.append(i) presum += i res.append(-presum) return res
-
func sumZero(n int) []int { ans := make([]int, n) for i := 1; i < n; i++ { ans[i] = i } ans[0] = -n * (n - 1) / 2 return ans }
-
function sumZero(n: number): number[] { const ans = new Array(n).fill(0); for (let i = 1; i < n; ++i) { ans[i] = i; } ans[0] = -((n * (n - 1)) / 2); return ans; }