class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: knight = dict() for i,num in enumerate(nums): if target-num in knight: return [knight[target-num],i] knight[nums[i]] = i
首先建立字典,然后每次判断如果不符合 即存入字典 直到找到符合的
项目缺点就是 如果输入的数组存在两个相同的数 代码就不能报错 ,不过题目已经规定 输入数组不会存在两个相同的数,大概命题方也是想让大家用字典把 暴力简单法在我博客也有 双循环
Python的哈希字典根据值寻找键的时候 返回的是一个list,因为哈希字典的值不唯一,键唯一,所以说只有输入数组里面的每个值不同,该方法才有效,不然返回的键就不唯一了