leetcode 1304. 和爲零的N個唯一整數

【題目】1304. 和爲零的N個唯一整數

給你一個整數 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

【解題思路1】

  • n爲奇數:壓入0,然後在壓入互爲相反數的數
  • n爲偶數:從一開始就壓入互爲相反數的數
class Solution {
    public int[] sumZero(int n) {
		int[] ans = new int[n];
		int p = 0;
		if(n % 2 == 1) 
			ans[p++] = 0;
		for(int i = 1; i <= n / 2; i++) {
			ans[p++] = i;
			ans[p++] = -i;
		}
		return ans;
	}
}

以0爲中心兩邊對稱放相反數

class Solution {
    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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章