題目連結:
題目意譯:
給定一整數 n,回傳任意一個陣列包含著 n 個相異整數,其總和為 0。
限制:
1 ≦ n ≦ 1000
範例測資:
範例 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]
解題思維:
假設 m = floor(n ÷ 2),其中 floor() 為下高斯函數(對正數來說等價於無條件捨去小數點)。
則我們可以立刻找到一個符合所求的陣列 [1, -1, 2, -2, 3, -3, ……, m, -m]。而如果 n 是奇數,則還要再多一個 0 作為其中的元素。
如上便可以得到一個總和為 0 且長度為 n 的陣列。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。