LeetCode1304-和為零的N個唯一整數
阿新 • • 發佈:2020-11-26
非商業,LeetCode連結附上:
https://leetcode-cn.com/problems/find-n-unique-integers-sum-up-to-zero/
進入正題。
題目:
給你一個整數n
,請你返回任意一個由n
個各不相同的整陣列成的陣列,並且這n
個數相加和為0
。
示例:
示例 1:
輸入:n = 5
輸出:[-7,-1,1,3,4]
解釋:這些陣列也是正確的 [-5,-1,1,2,3],[-3,-1,2,-2,4]。
示例 2:
輸入:n = 3
輸出:[-1,0,1]
示例 3:
輸入:n = 1
輸出:[0]
提示:
1 <= n <= 1000
程式碼實現:
public int[] sumZero(int n) { int[] ans = new int[n]; int index = 0; for(int i = 1; i <= n/2; i++) { ans[index++] = -i; ans[index++] = i; } return ans; } //時間複雜度O(n),空間複雜度O(n)
分析:
相加為零的,只需要成對出現的相同的正負數,需要額外考慮的是陣列長度為奇數的情況。
利用整型陣列初始值都為0的性質,當是陣列的長度為奇數時,不對最後一位數做操作,即為預設值0。
大道至簡,複雜的解法往往是有問題的。
--End