0
点赞
收藏
分享

微信扫一扫

【Leetcode】python哈希表


​​​​​​​​0️⃣python数据结构与算法学习路线

​​ 学习内容:

  • 基本算法:枚举、排序、搜索、递归、分治、优先搜索、贪心、双指针、动态规划等…
  • 数据结构:字符串(string)、列表(list)、元组(tuple)、字典(dictionary)、集合(set)、数组、队列、栈、树、图、堆等…

目录

  • ​​==leetcode-1==​​
  • ​​==leetcode-128==​​
  • ​​==可能使用函数==​​

leetcode-1

题目:
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。
说明:你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。

输入:
nums = [2,7,11,15], target = 9
输出:
[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

程序:
暴力解法

class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
l = len(nums)
for i in range (l):
for j in range(i+1,l):
if nums[i] + nums[j] == target:
return [i,j]

哈希解法

class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
hashtable = dict()
for i, num in enumerate(nums):
if target - num in hashtable:
return [hashtable[target - num], i]
hashtable[nums[i]] = i
return []

leetcode-128

可能使用函数

enumerate()

  • enumerate()是python的内置函数
  • enumerate在字典上是枚举、列举的意思
  • 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
  • 使用: for i, num in enumerate(nums):
  • num是键值,i是序号


举报

相关推荐

0 条评论