LeetCode 1 _ 兩數之和
阿新 • • 發佈:2020-10-09
1. 題目描述
2. 程式碼
1 class Solution: 2 def twoSum(self, nums: 'List[int]', target: int) -> 'List[int]': 3 s = {} 4 for i in range(len(nums)): 5 n = nums[i] 6 cop = target - n 7 if cop in s.keys(): 8 return [s[cop],i] 9s[nums[i]] = i 10 return []
思路: 遍歷陣列, 若target與當前值的差在字典s中, 則返回差值和當前遍歷的索引.
若target與當前值的差不在字典s中, 則把當前遍歷陣列的值和索引更新到字典s中.
3. 語法整理
3.1 字典
1 d = {key1 : value1, key2 : value2 }
3.2 訪問字典的值:把相應的鍵放入到方括號中
1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 2 print ("dict['Name']:", dict['Name']) 3 print ("dict['Age']: ", dict['Age'])
1 dict['Name']: Runoob 2 dict['Age']: 7
3.3修改字典
1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 2 3 dict['Age'] = 8 # 更新 Age 4 dict['School'] = "菜鳥教程" # 新增資訊
3.4 字典keys()方法:以列表返回一個字典所有的鍵.
1 dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} 2 print(dict.keys())
1 dict_keys(['Name', 'Age', 'Class'])