Skip to content

Latest commit

 

History

History
76 lines (47 loc) · 1.01 KB

1304.Find-N-Unique-Integers-Sum-up-to-Zero.md

File metadata and controls

76 lines (47 loc) · 1.01 KB

1304. Find N Unique Integers Sum up to Zero


题目地址

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

代码

Approach #1

A[i] = i * 2 - n + 1

class Solution {
  public int[] sumZero(int n) {
		int[] A = new int[n];
    for (int i = 0; i < n; i++) {
      A[i] = i * 2 - n + 1;
    }
    
    return A;
  }
}

Approach #2 Two Points

public int[] sumZero(int n) {
    int[] res = new int[n];
    int left = 0, right = n - 1, start = 1;
    while (left < right) { // in the middle is zero
        res[left++] = start;
        res[right--] = -start;
        start++;
    }
    return res;
  }