Find N Unique Integers Sum up to Zero

Given an integer n, return an array containing n unique integers such that they add up to 0.

Example:

Input:  n=5
Output: arr={-1,-2,-3,-4,10}

Approach

Java


import java.util.Arrays;

public class FindNUniqueIntSumuptoZero {
    public static void main(String[] args) {
        int n = 5;
        int arr[] = sumZero(n);
        System.out.println(Arrays.toString(arr));
    }

    public static int[] sumZero(int n) {
        int res[] = new int[n];
        int sum = 0;
        for (int i = 1; i <= n - 1; i++) {
            res[i - 1] = -i;
            sum += i;
        }
        res[n - 1] = sum;
        return res;
    }
}

C++

#include <bits/stdc++.h>
using namespace std;

vector<intsumZero(int n
{
   vector<int> res;
   int sum=0;
     for(int i=1;i<=n-1;i++) 
       {
          res.push_back(-i);
         sum+=i;
      }
        res.push_back(sum);
     return res;
}
int main()
{
    int n=5;
    vector<int> arr=sumZero(n);
    for(int i=0;i<arr.size();i++)
       cout<<arr[i]<<" ";
    return 0;
}


No comments:

Post a Comment