
链接: 6220. 可被三整除的偶数的平均值

按题意模拟即可。
注意case2表示可以不存在,分母是0要特判
class Solution:def averageValue(self, nums: List[int]) -> int:s = 0cnt = 0for x in nums:if x%6==0:s +=xcnt += 1if cnt == 0:return 0return s//cnt
链接: 6221. 最流行的视频创作者

按题意模拟即可。
class Solution:def mostPopularCreator(self, creators: List[str], ids: List[str], views: List[int]) -> List[List[str]]:s = Counter()p = defaultdict(list)n = len(creators)for c,i,v in zip(creators,ids,views):s[c]+=vp[c].append((-v,i))mx = -1ans = []for k,v in s.items():if v > mx:mx = vans = [k]elif v == mx:ans.append(k)ret = []for c in ans:i = sorted(p[c])[0][1]ret.append([c,i])return ret
链接: 6222. 美丽整数的最小增量

class Solution:def makeIntegerBeautiful(self, n: int, target: int) -> int:s = str(n)i = -1p = 0if sum(int(x) for x in s) <=target:return 0while i+1
链接: 6223. 移除子树后的二叉树高度

class Solution:def treeQueries(self, root: Optional[TreeNode], queries: List[int]) -> List[int]:dh = defaultdict(list) # 每个深度下,所有节点子树和他们的高度d = {} # 每个节点的深度dd = {} # 每个节点的高度def dfs(root,depth):if not root:return 0l = dfs(root.left,depth+1)r = dfs(root.right,depth+1)h = max(l,r)+1dh[depth].append((h,root.val))d[root.val] = depthdd[root.val] = hreturn hh = dfs(root,0) # 树的总高for k,v in dh.items():v.sort(reverse=True)ans = []for q in queries:vs = dh[d[q]] # 本层所有子树高# print(vs)if q == vs[0][1]:# print(h,vs[0][0],dd[q])if len(vs) == 1: # 本层只有一个节点,直接减去整颗子树的高度ans.append(h-dd[q]-1)else:ans.append(h-(dd[q]-vs[1][0])-1) # 最深路径从第二高走,高度改变=最大值-第二大else:ans.append(h-1) # 不是最高的树高不变return ans
上一篇:因为有了它,我用舍友玩王者的时间拿到了华为offer
下一篇:梦与孙娥兄游江南