825. 适龄的朋友
若一个一个去判断复杂度 O( n 2 n^2 n2) 显然超时,想到 年龄只有 0-120 ,年龄相同的人处理方法一致,所以可以使用哈希,记录所有年龄 然后判断与其他年龄的人是否会发好友请求,若会 那么加权,同时自己相同年龄的记得特殊处理一下,最后再乘于当前年龄人数, 再做一个累加
class Solution:
def numFriendRequests(self, ages: List[int]) -> int:
dic = defaultdict(int)
for age in ages:
dic[age] += 1
res = 0
for i in dic.keys():
dic[i] -=1
tmp =0
for j in dic.keys():
if i <= 0.5*j+7 or i >j or (i>100 and j<100):
continue
else:
tmp += dic[j]
dic[i] +=1
res +=dic[i]*tmp
return res
1967. 作为子字符串出现在单词中的字符串数目
调包 in
class Solution:
def numOfStrings(self, patterns: List[str], word: str) -> int:
return sum(pattern in word for pattern in patterns)