其他分享
首页 > 其他分享> > 1304. Find N Unique Integers Sum up to Zero

1304. Find N Unique Integers Sum up to Zero

作者:互联网

Source: https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero/

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

思路:偶数关于原点对称,奇数加上一个0

class Solution {
public:
    vector<int> sumZero(int n) {
        vector<int> ans(n);
        if(n==1){
            ans[0]=0;
            return ans;
        }
        if(n%2==0){
            for(int i=0;i<n/2;i++){
                ans[i]=i+1;
            }
            for(int i=n/2;i<n;i++){
                ans[i]=-ans[i-n/2];
            }
            return ans;
        }
        else{
            ans[0]=0;
            for(int i=1;i<=n/2;i++){
                ans[i]=i;
            }
            for(int i=n/2+1;i<n;i++){
                ans[i]=-ans[i-n/2];
            }
            return ans;
        }
    }
};
y625658683 发布了17 篇原创文章 · 获赞 0 · 访问量 405 私信 关注

标签:1304,Integers,int,Sum,up,Output,ans,Input,Example
来源: https://blog.csdn.net/y625658683/article/details/104081046