哈希(hash)表的定义:
是根据关键码值(Key value)而直接进行访问的数据结构,通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做哈希函数或散列函数。
比如说要去某小区15层会见朋友,15就相当于key,朋友就是要找的value,而去15层找朋友的这个过程就相当于映射函数。
leetcode
- 两数之和
# 先把差都存进去,然后和nums匹配
class Solution(object):
def twoSum(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: List[int]
"""
size = len(nums)
temp = {}
for i in range(size):
cha = target - nums[i]
if nums[i] in temp:
return temp[nums[i]], i
else:
temp[cha]= i
3. 快乐数
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
temp={}
temp['sum'] = n
sum = 0
if temp['sum'] < 10:
if temp['sum'] == 1 or temp['sum'] == 7:
return True
else:
return False
while temp['sum']:
sum += (temp['sum'] % 10)**2
temp['sum'] //= 10
return self.isHappy(sum)