给你一个整数 n
,请你返回 任意 一个由 n
个 各不相同 的整数组成的数组,并且这 n
个数相加和为 0
。
示例 1:
输入:n = 5
输出:[-7,-1,1,3,4]
解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。
示例 2:
输入:n = 3
输出:[-1,0,1]
示例 3:
输入:n = 1
输出:[0]
提示:
1 <= n <= 1000
解题思路
这个问题非常简单,假设左边界为l
右边界为r
,那么r-l=2(n-1)
。由题意可知左右区间内的元素互为相反数,那么l=-r
,那么r=n-1
并且l=1-n
。
class Solution:
def sumZero(self, n: int) -> List[int]:
return list(range(1 - n, n, 2))
我将该问题的其他语言版本添加到了我的GitHub Leetcode
如有问题,希望大家指出!!!