[LeetCode周赛复盘] 第 375 场周赛20231210

[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 = 0
        for i in range(len(batteryPercentages)):
            if batteryPercentages[i] - d>0:
                ans += 1
                d += 1
        return 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 = 0
        cnt = Counter()
        ans = 0 
        for i,v in enumerate(nums):
            cnt[v] += 1
            while  cnt[mx] >= k:
                cnt[nums[l]] -= 1
                l += 1
            
            ans += l
        return ans

100136. 统计好分割方案的数目

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 = 1
        x,y = lr[0]
        for l,r in lr:
            if l > y:
                x = l 
                c += 1
            y = max(y, r)
        return pow(2,c-1,10**9+7)

参考链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/233820.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

047:vue加载循环倒计时 示例

第047个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于飞蛾扑火算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.飞蛾扑火算法4.实验参数设定5.算法结果6.…

vue3封装接口

在src下面创建一个文件夹任意名称 我拿这个名字举例子了apiService 相当于创建一个新的文件 // 封装接口 // apiService.js import axios from axios;// 接口前缀 const API_BASE_URL 前缀;接口后缀export const registerUser async (fileData) > {try {const response …

eclipse中maven的配置

Maven下载地址:https://maven.apache.org/download.cgi 下载完成以后解压到非中文目录,建议放一个比较大的盘符下,因为Maven会一直从网上更新各种库存放在这个目录下,慢慢的会变得很大。 Maven环境变量配置 创建环境变量 在桌…

file-saver 的使用

简介 FileSaver.js 是在客户端保存文件的解决方案,非常适合在客户端生成文件的 Web 应用程序 基本使用 以下内容基于官方文档,官方文档传送门https://gitcode.net/mirrors/eligrey/FileSaver.js 注意:存在文件保存的大小限制,具…

1688API接口系列,商品详情数据丨搜索商品列表丨商家订单类丨1688开放平台接口使用方案

1688商品详情接口是指1688平台提供的API接口,用于获取商品详情信息。通过该接口,您可以获取到商品的详细信息,包括商品标题、价格、库存、描述、图片等。 要使用1688商品详情接口,您需要先申请1688的API权限,并获取ac…

Nginx【通俗易懂】《上篇》

目录 1.什么是Nginx💕💕💕 2.Nginx的基本目录💕💕💕 3.基本原理图 💕💕💕 4.Nginx配置 💕💕💕 5.日志的分析 💕&…

Matlab数学建模算法之小波神经网络详解

🔗 运行环境:Matlab 🚩 撰写作者:左手の明天 🥇 精选专栏:《python》 🔥 推荐专栏:《算法研究》 🔐#### 防伪水印——左手の明天 ####🔐 💗 大家…

Linux6-配置网络、源码包的编译和安装

配置 linux 网络 配置主机名 修改/etc/hostname 配置文件,永久配置主机名 [rootlocalhost ~]# vim /etc/hostname svr7.tedu.cn [rootlocalhost ~]# cat /etc/hostname svr7.tedu.cn [rootlocalhost ~]# reboot #重启生效命令行永久修改主机名 [rootlocalhost ~…

vivado时序方法检查11

TIMING-47 &#xff1a; 同步时钟之间的伪路径、异步时钟组或仅最 大延迟数据路径约束 在 <clock_group> 与 <clock_group> 这两个时钟之间设置了 <message_string> 时序约束 &#xff08; 请参阅 VivadoIDE 的“ Timing Constraint ”窗口中的约束位…

Docker部署开源分布式任务调度平台DolphinScheduler并实现远程访问办公

文章目录 前言1. 安装部署DolphinScheduler1.1 启动服务 2. 登录DolphinScheduler界面3. 安装内网穿透工具4. 配置Dolphin Scheduler公网地址5. 固定DolphinScheduler公网地址 前言 本篇教程和大家分享一下DolphinScheduler的安装部署及如何实现公网远程访问&#xff0c;结合内…

整合,降价,官司……2023休闲零食行业大变局

休闲零食行业正从暗战走向明战。 11月27日&#xff0c;宁波广源聚亿投资有限公司&#xff08;以下简称“广源聚亿”&#xff09;因被投企业宜春赵一鸣食品科技有限公司&#xff08;以下简称“赵一鸣”&#xff09;在双方合作期内&#xff0c;刻意隐瞒公司重大事项&#xff0c;…

什么叫应用加速,什么情况需要用到应用加速

应用加速的定义 应用加速依赖节点之间的高速通道、转发集群及智能路由技术&#xff0c;实现各地用户的就近接入&#xff0c;通过高速通道直达源站区域&#xff0c;帮助业务解决用户访问卡顿或者延迟过高的问题。使用高速网络和全球范围内的节点技术&#xff0c;确保传输时间和…

1829_org-mode的标记语法

org-mode的标记语法 Grey 全部学习汇总&#xff1a; GitHub - GreyZhang/g_org: my learning trip for org-mode 如果用org-mode来做笔记&#xff0c;现在看起来还是有一些短板让我觉得不是很方便。不过&#xff0c;我发现采用这种方式整理信息的时候会有较为深度的思考。因…

flstudio21.3完整高级版怎么下载?有哪些新功能

flstudio高级版是一款适用于广泛领域的音频编辑软件。它支持多通道混音器和VST插件&#xff0c;包括数百种乐器和效果插件。它还为您提供了一个乐谱编辑器&#xff0c;需要对不同乐器的节奏进行必要的编辑。Flstudio具有许多内置电子合成声音&#xff0c;可提供更广泛的电子声音…

MySQL - 表达式With as 语句的使用及练习

目录 8.1 WITH AS 的含义 8.2 WITH AS语法的基本结构如下&#xff1a; 8.3 练习题1 8.4 牛客练习题 8.1 WITH AS 的含义 WITH AS 语法是MySQL中的一种临时结果集&#xff0c;它可以在SELECT、INSERT、UPDATE或DELETE语句中使用。通过使用WITH AS语句&#xff0c;可以将一个查…

荒野大镖客emp.dll文件丢失怎么办?6种有效修复方法教你如何解决问题

在计算机运行软件游戏的使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“找不到emp.dll&#xff0c;无法继续执行代码”。这个问题的出现往往会导致程序无法正常运行&#xff0c;给用户带来困扰。本文将详细介绍emp.dll丢失的原因、对电脑的影响以…

力扣思维题/经典面试题——下一个排序

https://leetcode.cn/problems/next-permutation/description/ 字节面试题&#xff0c;非常经典的逻辑思维题 1、找到第一个下降点&#xff0c;说明这个点可以变得稍微大一点以至于让整个排列变得更加大 为什么&#xff0c;仔细想想&#xff0c;后面都是倒序了怎么都不可能变得…

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系&#xff0c;这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系&#xff0c;这部分步骤有时间补充 3.骨骼绑定 切换到物体模式&#xff0c;选中机器人头部&#xff0c;Shift选中骨骼&#xff0c;切换到姿态模式&#xff0c;&am…

Linux系统调试课:I2C tools调试工具

文章目录 一、如何使用I2C tools测试I2C外设1、I2C tools概述: 2、下载I2C tools源码:3、编译I2C tools源码: 4、i2cdetect 5、i2cget 6、i2cdump