酒店预定网站建设方案,淄博网站建设咨询臻动传媒,做推广有什么好网站,做网页的软件html[LeetCode周赛复盘] 第 375 场周赛20231210 一、本周周赛总结100143. 统计已测试设备1. 题目描述2. 思路分析3. 代码实现 100155. 双模幂运算1. 题目描述2. 思路分析3. 代码实现 100137. 统计最大元素出现至少 K 次的子数组1. 题目描述2. 思路分析3. 代码实现 100136. 统计好分… [LeetCode周赛复盘] 第 375 场周赛20231210 一、本周周赛总结100143. 统计已测试设备1. 题目描述2. 思路分析3. 代码实现 100155. 双模幂运算1. 题目描述2. 思路分析3. 代码实现 100137. 统计最大元素出现至少 K 次的子数组1. 题目描述2. 思路分析3. 代码实现 100136. 统计好分割方案的数目1. 题目描述2. 思路分析3. 代码实现 参考链接 一、本周周赛总结
T1 模拟。T2 快速幂模拟。T3 滑窗。T4 分组线段合并。
100143. 统计已测试设备
100143. 统计已测试设备
1. 题目描述 2. 思路分析
用一个d记录后边要减去的数量
3. 代码实现
class Solution:def countTestedDevices(self, batteryPercentages: List[int]) - int: d ans 0for i in range(len(batteryPercentages)):if batteryPercentages[i] - d0:ans 1d 1return ans 100155. 双模幂运算
100155. 双模幂运算
1. 题目描述 2. 思路分析
用py自带快速幂。
3. 代码实现
class Solution:def getGoodIndices(self, variables: List[List[int]], target: int) - List[int]:return [i for i,(a,b,c,m) in enumerate(variables) if pow(pow(a,b,10),c,m) target]100137. 统计最大元素出现至少 K 次的子数组
100137. 统计最大元素出现至少 K 次的子数组
1. 题目描述 2. 思路分析
滑窗但这题可能把窗口出到空因此用双指针写法比队列写法方便一些。对每个右端点考虑左端点的个数即左端点向左一下即能出现合法因此当cnt[mx]k即可滑。
3. 代码实现
class Solution:def countSubarrays(self, nums: List[int], k: int) - int:mx max(nums)l 0cnt Counter()ans 0 for i,v in enumerate(nums):cnt[v] 1while cnt[mx] k:cnt[nums[l]] - 1l 1ans lreturn ans100136. 统计好分割方案的数目
100136. 统计好分割方案的数目
1. 题目描述 2. 思路分析
观察题意要求相同数字必须分在同一组因此可以先按数组分组求每个数字的左右边界这时发现有的数字会有交叉根据题意他们也应该同组。于是想到线段合并。合并完后相邻组可以任意分组或者不分。那么方案数考虑插板n组中间有n-1个位置每个位置可以插或不插。
3. 代码实现
class Solution:def numberOfGoodPartitions(self, nums: List[int]) - int:g {}for i,v in enumerate(nums):if v not in g:g[v] [i,0]g[v][1] i lr sorted(g.values())c 1x,y lr[0]for l,r in lr:if l y:x l c 1y max(y, r)return pow(2,c-1,10**97)参考链接