链接: 6300. 最小公共值
class Solution:def getCommon(self, nums1: List[int], nums2: List[int]) -> int:ans = set(nums1)&set(nums2) return min(ans,default=-1)
链接: 6275. 使数组中所有元素相等的最小操作数 II
这题由于k可以是0,前排wa声一片。
class Solution:def minOperations(self, nums1: List[int], nums2: List[int], k: int) -> int:if k == 0:return 0 if nums1 == nums2 else -1 n = len(nums1)ans = 0a = b = 0for x,y in zip(nums1,nums2):d = y - x if d%k != 0:return -1if d < 0:a += -d//kif d > 0:b += d//kif a != b:return -1return a
链接: 6302. 最大子序列的分数
class Solution:def maxScore(self, nums1: List[int], nums2: List[int], k: int) -> int: z = sorted(zip(nums1,nums2),key=lambda x:x[1],reverse=True)h = [x for x,y in z[:k]]heapify(h)s = sum(h)ans = s * z[k-1][1]for x,y in z[k:]:s += xs -= heappushpop(h,x)ans = max(ans,s*y)return ans
链接: 6301. 判断一个点是否可以到达
class Solution:def isReachable(self, x: int, y: int) -> bool:return gcd(x,y).bit_count() == 1