Leetcode 1664 生成平衡陣列的方案數

2021-10-11 12:12:19 字數 1019 閱讀 4582

給你乙個整數陣列 nums 。你需要選擇 恰好 乙個下標(下標從 0 開始)並刪除對應的元素。請注意剩下元素的下標可能會因為刪除操作而發生改變。

比方說,如果 nums = [6,1,7,4,1] ,那麼:

選擇刪除下標 1 ,剩下的陣列為 nums = [6,7,4,1] 。

選擇刪除下標 2 ,剩下的陣列為 nums = [6,1,4,1] 。

選擇刪除下標 4 ,剩下的陣列為 nums = [6,1,7,4] 。

如果乙個陣列滿足奇數下標元素的和與偶數下標元素的和相等,該陣列就是乙個 平衡陣列 。

請你返回刪除操作後,剩下的陣列 nums 是 平衡陣列 的 方案數 。

示例 1:

輸入:nums = [2,1,6,4]

輸出:1

解釋:刪除下標 0 :[1,6,4] -> 偶數元素下標為:1 + 4 = 5 。奇數元素下標為:6 。不平衡。

刪除下標 1 :[2,6,4] -> 偶數元素下標為:2 + 4 = 6 。奇數元素下標為:6 。平衡。

刪除下標 2 :[2,1,4] -> 偶數元素下標為:2 + 4 = 6 。奇數元素下標為:1 。不平衡。

刪除下標 3 :[2,1,6] -> 偶數元素下標為:2 + 6 = 8 。奇數元素下標為:1 。不平衡。

只有一種讓剩餘陣列成為平衡陣列的方案。

示例 2:

輸入:nums = [1,1,1]

輸出:3

解釋:你可以刪除任意元素,剩餘陣列都是平衡陣列。

示例 3:

輸入:nums = [1,2,3]

輸出:0

解釋:不管刪除哪個元素,剩下陣列都不是平衡陣列。

1 <= nums.length <= 105

1 <= nums[i] <= 104

class solution 

int ans = 0;

for(int i = 0; i < len; i++)

return ans;

}};

1664 生成平衡陣列的方案數

題目描述 給你乙個整數陣列 nums 你需要選擇 恰好 乙個下標 下標從 0 開始 並刪除對應的元素。請注意剩下元素的下標可能會因為刪除操作而發生改變。比方說,如果 nums 6,1,7,4,1 那麼 選擇刪除下標 1 剩下的陣列為 nums 6,7,4,1 選擇刪除下標 2 剩下的陣列為 nums...

LeetCode 22 生成括號

22 生成括號 給出 n 代表生成括號的對數,請你寫出乙個函式,使其能夠生成所有可能的並且有效的括號組合。例如,給出 n 3,生成結果為 生成所有 2 個 和 字元構成的序列。然後,我們將檢查每乙個是否有效。為了檢查序列是否為有效的,我們會跟蹤平衡,也就是左括號的數量減去右括號的數量的淨值。如果這個...

22 生成括號

n n組括號,括號字串長度為2n2n 字串中的每個字元有兩種選擇可能,或 故有22n 2 22 n種可能。分析 1 我們定義兩個變數left和right分別表示剩餘左右括號的個數,如果在某次遞迴時,左括號的個數大於右括號的個數,說明此時生成的字串中右括號的個數大於左括號的個數,即會出現 或者 這樣的...