1304. Find N Unique Integers Sum up to Zero

Leetcode link

题目简介

这是一道简单,题目给一个正整数参数 n,并要求我们返回一个长度为 n 的数组,使其所有元素之和为 0,并且元素不能重复

解题思路

将所有数字之和置为 0 最简单的方法就是用绝对值相同的一正一负两个数相加

但是我们需要分成两种情况:

  • n 是奇数:这种情况我们需要插入一个 0
  • n 是偶数:这种情况我们只需要正常插入指定数量的正负数就好

Javascript

/**
 * @param {number} n
 * @return {number[]}
 */
var sumZero = function (n) {
    let i = 1
    const res = []
    if (n % 2 !== 0) {
        res.push(0)
        n--
    }
    while (n > 0) {
        res.push(i, -i)
        i++
        n -= 2
    }

    return res
};

results matching ""

    No results matching ""