1304 和為零的N個唯一整數

王培琳發表於2020-09-28

題目描述:
給你一個整數 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

方法1:
主要思路:
(1)根據奇偶性,可以先決定是否壓入0,然後將後面的元素按照正負值進行壓入,最後結果自然為0;

class Solution {
public:
    vector<int> sumZero(int n) {
        vector<int>res;
        if(n&1){//根據奇偶性決定是否壓入0
            res.push_back(0);
        }
        //後面的值進行正負壓入
        for(int i=1;i<=n/2;++i){
            res.push_back(i);
            res.push_back(-i);
        }
        return res;
    }
};

相關文章