從今天開始刷leetcode這裡一些自己的總結: 題目要求返回下標結果,所以在字典建立的時候 ,將key與value對調 題目
*給定乙個整數陣列 nums 和乙個整數目標值 target,請你在該陣列中找出 和為目標值 的那 兩個 整數,並返回它們的陣列下標。
你可以假設每種輸入只會對應乙個答案。但是,陣列中同乙個元素不能使用兩遍。
你可以按任意順序返回答案。*
輸入:nums = [2,7,11,15], target = 9
輸出:[0,1]
解釋:因為 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
// an highlighted block
class
solution
: def twosum
(self, nums: list[int]
, target: int)
-> list[int]
: hashtabe=
dict
() #建立乙個空的字典
for i,num in
enumerate
(nums)
: #enumerate同時列出資料和資料下標
if target-num in hashtabe: #判斷字典中是否存在數值
return
[hashtabe[target-num]
,i] #返回兩個下標
hashtabe[nums[i]
]=i #將字典賦值,key為numsvalue,value為nums的下標
LeetCode400 第N個數字
在無限的整數序列 1,2,3,4,5,6,7,8,9,10,11,中找到第 n 個數字。注意 n 是正數且在32為整形範圍內 n 231 示例 1 輸入 3 輸出 3 示例 2 輸入 11 輸出 0 說明 第11個數字在序列 1,2,3,4,5,6,7,8,9,10,11,裡是0,它是10的一部分。...
LeetCode 400 第N位數字
給你乙個整數n,請你在無限的整數序列 1,2,3,4,5,6,7,8,9,10,11,中找出並返回第n位數字。示例 1 輸入 n 3輸出 3示例 2 輸入 n 11輸出 0解釋 第 11 位數字在序列 1,2,3,4,5,6,7,8,9,10,11,裡是0,它是 10 的一部分。思路 假設數字位數為...
Leetcode 400 第N個數字 C
在無限的整數序列 1,2,3,4,5,6,7,8,9,10,11,中找到第 n 個數字。注意 n 是正數且在32位整數範圍內 n 231 示例 1 輸入 3輸出 3示例 2 輸入 11輸出 0說明 第11個數字在序列 1,2,3,4,5,6,7,8,9,10,11,裡是0,它是10的一部分。1 9,...