链接: 6323. 将钱分给最多的儿童
按题意模拟即可。
class Solution:def distMoney(self, money: int, children: int) -> int:if children == 1 and money == 4:return -1if money < children:return -1m = money - childrenans,mod = divmod(m,7)if ans == 0:return 0 if ans == children - 1:if mod == 3:return ans - 1return ans if ans == children:return ans - int(mod>0)if ans > children:return children - 1return ans
链接: 6324. 最大化数组的伟大值
、class Solution:def maximizeGreatness(self, nums: List[int]) -> int:# nums.sort(reverse=True)a = sorted(nums)n = len(a)l = 0ans = 0for v in a:if a[l] < v:ans += 1l += 1return ans
链接: 6351. 标记所有元素后数组的分数
class Solution:def findScore(self, nums: List[int]) -> int:marked = set()ans = 0for v,i in sorted([(v,i) for i,v in enumerate(nums)]):if i not in marked:ans += v marked.add(i-1)marked.add(i+1)return ans
链接: 6325. 修车的最少时间
class Solution:def repairCars(self, ranks: List[int], cars: int) -> int:cnt = Counter(ranks)s = lambda t: sum(floor((t // r) ** 0.5) * c for r, c in cnt.items())return bisect_left(range(min(cnt) * cars * cars), cars, key=s)
上一篇:Matlab基础教学入门