https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero/ | Easy |
---|
Дано число n
. Нужно вернуть массив из n
уникальных целых чисел, сумма которых равна 0. Ответ может быть любым.
Input:
n = 5Output:
[-7, -1, 1, 3, 4]Explanation:
Сумма элементов равна 0, все числа уникальны.
Input:
n = 3Output:
[-1, 0, 1]
Input:
n = 1Output:
[0]
fun sumZero(n: Int): IntArray {
val result = IntArray(n)
var num = 1
for (i in 0 until n / 2) {
result[i] = -num // Добавляем отрицательное число
result[n - 1 - i] = num // И соответствующее положительное
num++
}
if (n % 2 != 0) result[n / 2] = 0 // Если n нечётное, добавляем 0 в центр
return result
}
O(n), так как проходим массив один раз.
O(n), для хранения результирующего массива.