騰訊精選50題(8)

2021-09-26 02:17:11 字數 416 閱讀 3365

136.只出現一次的數字

給定乙個非空整數陣列,除了某個元素只出現一次以外,其餘每個元素均出現兩次。找出那個只出現了一次的元素。

說明:你的演算法應該具有線性時間複雜度。 你可以不使用額外空間來實現嗎?

示例 1:

輸入: [2,2,1]

輸出: 1

示例 2:

輸入: [4,1,2,1,2]

輸出: 4

1.經典方法:使用異或操作

class solution 

for num in nums:

dict[num] = dict.get(num,0)+1

for num in nums:

if dict.get(num) == 1:

return num

騰訊精選50題(1)

155.最小棧 設計乙個支援push,pop,top操作,並能在常數時間內檢索到最小元素的棧。示例 minstack minstack new minstack minstack.push 2 minstack.push 0 minstack.push 3 minstack.getmin 返回 3....

騰訊精選50題(2)

20.有效的括號 給定乙個只包括 的字串,判斷字串是否有效。有效字串需滿足 1.左括號必須用相同型別的右括號閉合。2.左括號必須以正確的順序閉合。注意空字串可被認為是有效字串。示例 1 輸入 輸出 true 示例 2 輸入 輸出 true 示例 3 輸入 輸出 false 示例 4 輸入 輸出 fa...

騰訊精選50題(7)

78.子集 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 c 採用回溯方法 稍微有點難懂,嘎嘎嘎 class solution void helper v...