Skip to content

Latest commit

 

History

History
113 lines (88 loc) · 2.03 KB

File metadata and controls

113 lines (88 loc) · 2.03 KB

中文文档

Description

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

Solutions

Python3

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

Java

class Solution {
    public int[] sumZero(int n) {
        int preSum = 0;
        int[] ret = new int[n];
        for (int i = 1; i < n; ++i) {
            ret[i - 1] = i;
            preSum += i;
        }
        ret[n - 1] = -preSum;
        return ret;
    }
}

C++

class Solution {
public:
    vector<int> sumZero(int n) {
        int presum = 0;
        vector<int> res;
        for (int i = 1; i < n; ++i) {
            res.push_back(i);
            presum += i;
        }
        res.push_back(-presum);
        return res;
    }
};

Go

func sumZero(n int) []int {
	presum := 0
	var res []int
	for i := 1; i < n; i++ {
		res = append(res, i)
		presum += i
	}
	res = append(res, -presum)
	return res
}

...