python
242:
class Solution(object):
def isAnagram(self, s, t):
"""
:type s: str
:type t: str
:rtype: bool
"""
my_dict_s = {}
my_dict_t = {}
for item in s:
my_dict_s[item] = my_dict_s.get(item, 0) + 1
# print(my_dict_s)
for item in t:
my_dict_t[item] = my_dict_t.get(item, 0) + 1
# print(my_dict_t)
if my_dict_s == my_dict_t:
return True
else:
return False
349:
class Solution(object):
def intersection(self, nums1, nums2):
"""
:type nums1: List[int]
:type nums2: List[int]
:rtype: List[int]
"""
res = []
my_dict = {}
for item in nums1:
if item not in my_dict:
my_dict[item] = 1
for item in nums2:
if item in my_dict and my_dict[item] == 1:
res.append(item)
my_dict[item] = 0
return res
202 快乐数:
有bug 找不出来
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
num = n
my_set = set()
while num not in my_set:
print(num)
num = self.s(num)
my_set.add(num)
print(my_set)
if num == 1:
return True
else:
return False
def s(self, cur):
t = 0
for item in str(cur):
t += int(item) ** 2
return t
s函数应该放在isHappy里面:
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
def next(cur):
total_sum = 0
for item in str(cur):
total_sum += int(item) ** 2
return total_sum
num = n
my_set = set()
while num not in my_set:
my_set.add(num)
num = next(num)
if num == 1:
return True
else:
return False
优化:while 条件 加一个num != 1
优化一下命名: