leetcode 349:两个数组的交集I
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
set1=set(nums1)
set2=set(nums2)
return set2 & set1
leetcode 350:两个数组的交集II
class Solution:
def intersect(self, nums1: List[int], nums2: List[int]) -> List[int]:
from collections import Counter
nums1_dict=Counter(nums1)
res=[]
for num in nums2:
if nums1_dict[num]>0:
res.append(num)
nums1_dict[num]-=1
return res
leetcode 242:有效的字母异位词
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
from collections import Counter
s=Counter(s)
t=Counter(t)
if s==t:
return True
else:
return False
leetcode 202:快乐数
class Solution:
def isHappy(self, n: int) -> bool:
already=set()
while n!=1:
sum=0
while n>0:
tmp=n%10
sum+=tmp**2
n//=10
if sum in already:
return False
else:
already.add(sum)
n=sum
return True
leetcode 290:单词规律
class Solution:
def wordPattern(self, pattern: str, str: str) -> bool:
str=str.split()
return list(map(pattern.index,pattern))==list(map(str.index,str))
leetcode 205:同构字符串
class Solution:
def isIsomorphic(self, s: str, t: str) -> bool:
return list(map(s.index,s))==list(map(t.index,t))
leetcode 451:根据字符出现频率排序
class Solution:
def frequencySort(self, s: str) -> str:
from collections import Counter
s_dict=Counter(s)
s=sorted(s_dict.items(),key=lambda item:item[1],reverse=True)
res=''
for key,value in s:
res+=key*value
return res