【LeetCode】1304. 和为零的N个唯一整数(C++)

1 题目描述

给你一个整数 n,请你返回 任意 一个由 n 个 各不相同 的整数组成的数组,并且这 n 个数相加和为 0 。

2 示例描述

2.1 示例 1

输入:n = 5
输出:[-7,-1,1,3,4]
解释:这些数组也是正确的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。

2.2 示例 2

输入:n = 3
输出:[-1,0,1]

2.3 示例 3

输入:n = 1
输出:[0]

3 解题提示

1 <= n <= 1000

4 解题思路

简单的题目的取巧做法,官方题解下,的外层循环是有点小错误的,但是如果改成从1开始的话,最后一个数绝对是负数的,所以是可行的,取消做法。

5 源码详解(C++)

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

猜你喜欢

转载自blog.csdn.net/Gyangxixi/article/details/114095312