可惜没如果=_=
时光的河入海流

题目链接在这里:1. 两数之和 - 力扣(LeetCode)

这道题主要学习了python中哈希表的使用,类似于c++中的map容器,这里enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

 1 # 暴力
 2 # class Solution:
 3 #     def twoSum(self, nums, target):
 4 #         n = len(nums)
 5 #         for i in range(n):
 6 #             for j in range(i+1,n):
 7 #                 if nums[i]+nums[j]==target:
 8 #                     return [i,j]
 9 #         return []
10 
11 class Solution:
12     def twoSum(self, nums, target):
13         hash = dict()
14         for i,j in enumerate(nums):
15             if target - j in hash:
16                 return [i, hash[target - j]]
17             hash[j] = i
18         return []
19 
20 if __name__=="__main__":
21     nums = [3, 2, 4]
22     target = 6
23     self = 0
24     ans = Solution.twoSum(self=0, nums=nums, target=target)
25     print(ans)

 

posted on 2023-03-13 11:37  珍珠鸟  阅读(8)  评论(0编辑  收藏  举报