题目
给你一个整数 n
,请你返回 任意 一个由 n
个 各不相同 的整数组成的数组,并且这 n
个数相加和为 0
。
示例 1:
1 2 3
| 输入:n = 5 输出:[-7,-1,1,3,4] 解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。
|
示例 2:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| 输入:n = 3 输出:[-1,0,1] 示例 3:
输入:n = 1 输出:[0] ```
**提示:**
+ `1 <= n <= 1000` # 题解 ## 思路 + 题目是大水题 + 就是生成一个长度为 n 的数组 + 然后后半部分从 1 到 n//2 + 1 + 前半部分从 -1 到 -(n//2 + 1) + 这里只是作为使用 numpy 的一个展示 + 很多时候使用 numpy 来处理矩阵,列表可以显著加速
## 代码 ```python import numpy as np class Solution: def sumZero(self, n: int) -> List[int]: a = np.zeros(n,dtype=np.int32) a[(n+1)//2:] = np.arange(1,n//2 + 1) a[:n//2] = np.arange(1,n//2 + 1) * -1 return a
|