242. 有效的字母异位词
思路
用哈希表的思路解决
代码
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
s_result = dict()
t_result = dict()
if len(s) != len(t):
return False
for i in s:
s_result[i] = s_result.get(i,0) +1
for i in t:
t_result[i] = t_result.get(i,0) +1
for key, value in s_result.items():
t_result[key] = t_result.get(key,0) - value
if t_result[key] != 0:
return False
return True
349. 两个数组的交集
思路
利用set的特性解此题
代码
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
nums1 = set(nums1)
nums2 = set(nums2)
return list(nums1&nums2)
1. 两数之和
思路
使用一个list来存放我们访问过的元素,然后并使用enumerate记录其在原数组中的索引
代码
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
map = list()
for ids, num in enumerate(nums):
map.append(num)
for i in range(ids+1,len(nums)):
if hash[ids] + nums[i] == target:
return [ids,i]