概述
两数之和的三种解法 使用python 力扣
- 1:暴力
- 2: HASH两遍
- 3: HASH 1遍
1:暴力
class Solution:
def twoSum(self, nums, target):
for i in range(len(nums)):
for j in range(i + 1, len(nums)):
if (nums[i] + nums[j] == target):
return [i, j]
pass
pass
return None`
2: HASH两遍
#HASH表中,将键值装桶中 (key value) key是键值(要查找的值), value(index)是桶,是地址
#hashmap[key]=value or hashmap[nums]=index
hashmap = {}
for index, num in enumerate(nums):
hashmap[num] = index
for index, num in enumerate(nums):
another_num = target - num
if another_num in hashmap and hashmap[another_num] != index:
return [index, hashmap[another_num]]
return None
3: HASH 1遍
#边找边放,相当于从后往前找
hashmap = {}
for index, num in enumerate(nums):
another_num = target - num
if another_num in hashmap:
return [hashmap[another_num], index]
hashmap[num] = index
return None
最后
以上就是坚强柚子为你收集整理的两数之和的三种解法 使用python 力扣1:暴力2: HASH两遍3: HASH 1遍的全部内容,希望文章能够帮你解决两数之和的三种解法 使用python 力扣1:暴力2: HASH两遍3: HASH 1遍所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复