242.有效的字母异位词
方法一
使用ASCII码进行映射,record数组记录
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
records=[0]*26
for i in s:
records[ord(i)-ord("a")]+=1
for i in t:
records[ord(i)-ord("a")]-=1
for i in range(26):
if records[i]!=0:
return False
return True
349. 两个数组的交集
使用字典做哈希表
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
table={}
for num in nums1:
table[num]=table.get(num,0)+1
res=set()
for num in nums2:
if num in table:
res.add(num)
del table[num]
return list(res)
直接使用集合
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
return list(set(nums1)&set(nums2))
快乐数
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
record=set()
while True:
n=self.get_sum(n)
if n==1:
return True
if n in record:
return False
else:
record.add(n)
def get_sum(self,n):
new_num = 0
while n:
n, r = divmod(n, 10)
new_num += r ** 2
return new_num