[LeetCode周赛复盘] 第 111 场双周赛20230819

[LeetCode周赛复盘] 第 111 场双周赛20230819

    • 一、本周周赛总结
    • 2824. 统计和小于目标的下标对数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2825. 循环增长使字符串子序列等于另一个字符串
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2826. 将三个组排序
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 2827. 范围中美丽整数的数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • T1 对向双指针。
  • T2 子序列/同向双指针。
  • T3 LIS/状态DP。
  • T4 数位DP。
    在这里插入图片描述

2824. 统计和小于目标的下标对数目

2824. 统计和小于目标的下标对数目

1. 题目描述

在这里插入图片描述

2. 思路分析

这里只讨论O(n)做法。
  • 类似两数之和,由于顺序无关,把数据排序。
  • 设置l,r=0,n-1。
  • 若a[l]+a[r]<target,则a[l]+ 任意a[l+1…r]都<target。则这r-l个数都可以和l组队。

3. 代码实现

class Solution:def countPairs(self, nums: List[int], target: int) -> int:nums.sort()ans = left = 0right = len(nums) - 1while left < right:if nums[left] + nums[right] < target:ans += right - leftleft += 1else:right -= 1return ans

2825. 循环增长使字符串子序列等于另一个字符串

2825. 循环增长使字符串子序列等于另一个字符串

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 子序列问题,都有个贪心思想:当前能匹配就匹配,匹配不了再看下一个。
  • 一般外层循环更长的那个,代码会好写一些。

3. 代码实现

class Solution:def canMakeSubsequence(self, str1: str, str2: str) -> bool:n = len(str2)j = 0 for c in str1:if j < n:d = ord(c)+1if d > ord('z'):d = ord('a')if c == str2[j] or chr(d) == str2[j]:j += 1     return j == n

2826. 将三个组排序

2826. 将三个组排序

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 本质是LIS,如果k不是3而是更大的1e4,则只能LIS。
  • 状态机DP可以用RMQ来优化,本身也是LIS的另一种做法。

3. 代码实现

class Solution:def minimumOperations(self, nums: List[int]) -> int:        dp = []for v in nums:if not dp or v >=dp[-1]:dp.append(v)else:p = bisect_right(dp,v)dp[p] = vreturn len(nums)-len(dp)# n = len(nums)# f = [1]*n # for i in range(1,n):#     for j in range(i):#         if nums[i] >= nums[j]:#             f[i] = max(f[i],f[j]+1)# return len(nums) - max(f)                

2827. 范围中美丽整数的数目

2827. 范围中美丽整数的数目

1. 题目描述

在这里插入图片描述

2. 思路分析

 数位DP+前缀和作差
  • 条件有两个:奇数偶数个数相同、被k整除。
  • 第一个条件可以向后传递两个个数。
  • 第二个条件可以用同余向后传递,即(p*10+j)%k
  • 剩下的就是套板子。

  • 注意这里is_num我省略了,因为可以用even和odd来检查。
  • 灵神的写法是不省略is_num,但even和odd压缩成一个diff。差不多。

3. 代码实现

class Solution:def numberOfBeautifulIntegers(self, low: int, high: int, k: int) -> int:def f(s):n = len(s)@cachedef f(i, p, even, odd, is_limit):if i == n:return int(even+odd>0 and even == odd and p == 0)up = int(s[i]) if is_limit else 9down = 0 if even+odd else 1ans = 0if not even+odd:ans += f(i + 1, 0, 0, 0, False)for j in range(down, up + 1):ans += f(i + 1, (p * 10 + j) % k, even + (not j & 1), odd + (j & 1), is_limit and j == up)return ansreturn f(0, 0, 0, 0, True)return f(str(high)) - f(str(low - 1))

参考链接

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js、PHP连接外卖小票机打印机方案(调用佳博、芯烨等)

前言&#xff1a; 目前开发需要用到电脑直接连接外卖小票机打印小票&#xff0c;查阅各种资料&#xff0c;使用 6612345浏览器 终于解决了这个问题。 效果&#xff1a; PHP、js直接连接小票机并且自动出票。 支持的小票机&#xff1a; 目前测试可以的有&#xff1a;电脑A4打印…

SQL注入读写文件

文章目录 条件利用SQL注入漏洞读取hosts文件查看文件读写权限安全选项允许导入导出读取hosts文件 利用SQL注入漏洞写入一句话木马&#xff0c;并用蚁剑连接webshell写入文件 条件 SQL注入有直接SQL注入&#xff0c;也有文件读写时的注入&#xff0c;后者的主要 目的在于获取web…

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现PSO-RF粒子群优化算法优化随机森林算法多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果…

嵌入式Linux开发实操(十一):ETH网络接口开发

# 前言 嵌入式linux也有些是支持网口的,比如RGMII,嵌入式系统资源支持以太网和其他基本接口的硬件平台(板上或片上系统),有充足的NOR或NAND Flash闪存,用于容纳OS、lib库、fileSystem文件系统、APP应用程序、Bootloader引导程序等。嵌入式Linux是开源的、可修改的,并且…

个人微信AI聊天机器人

个人微信AI聊天机器人 微信AI机器人介绍产品介绍联系本人微信&#xff1a;yao_you_meng_xiang代码地址&#xff1a;https://github.com/xshxsh/weChatAiRobot 前期准备个人微信号Windows电脑注册AI模型账号 搭建使用注册AI账号注册讯飞账号创建应用申请API使用 安装微信 安装代…

【网络安全】防火墙知识点全面图解(三)

本系列文章包含&#xff1a; 【网络安全】防火墙知识点全面图解&#xff08;一&#xff09;【网络安全】防火墙知识点全面图解&#xff08;二&#xff09;【网络安全】防火墙知识点全面图解&#xff08;三&#xff09; 防火墙知识点全面图解&#xff08;三&#xff09; 39、什…

解决idea登录github copilot报错问题

试了好多方案都没用&#xff0c;但是这个有用&#xff0c; 打开idea-help-edit custonm vm options 然后在这个文件里面输入 -Dcopilot.agent.disabledtrue再打开 https://github.com/settings/copilot 把这个设置成allow&#xff0c;然后重新尝试登录copilot就行就行 解决方…

nginx代理请求到内网不同服务器

需求&#xff1a;之前用的是frp做的内网穿透&#xff0c;但是每次电脑断电重启&#xff0c;路由或者端口会冲突&#xff0c;现在使用汉土云盒替换frp。 需要把公网ip映射到任意一台内网服务器上&#xff0c;然后在这台内网服务器上用Nginx做代理即可访问内网其它服务器&#xf…

mysql使用flashback恢复数据

常在河边走&#xff0c;哪有不湿鞋。如果我们经常操作数据库&#xff0c;很有可能就会造成误操作&#xff0c;假如我们不幸误删了数据&#xff0c;有没有办法快速恢复呢&#xff1f; 这里&#xff0c;我们就以用的最多的mysql举例&#xff0c;聊聊如何快速恢复数据。mysql官方貌…

springboot里 运用 easyexcel 导出

引入pom <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version> </dependency>运用 import com.alibaba.excel.EasyExcel; import org.springframework.stereotype.Contr…

YOLOv7-tracker 目标追踪 输入视频帧

参考项目&#xff1a;https://github.com/JackWoo0831/Yolov7-tracker/tree/master github链接&#xff1a;https://github.com/Whiffe/Yolov7-tracker 码云链接&#xff1a;https://gitee.com/YFwinston/Yolov7-tracker 1 项目安装 1.1 环境搭建 平台&#xff1a;AutoDL 选…

Linux TCP协议——三次握手,四次挥手

一、TCP协议介绍 TCP协议是可靠的、面向连接的、基于字节流的传输层通信协议。 TCP的头部结构&#xff1a; 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;&#xff08;tcp是传输层的协议&#xff0c;端与端之间的数据传输&#xff0c;在TCP和UDP协议当中不会体现出I…

【Linux】一张图了解系统文件

首先先认识磁盘结构 系统文件分布图 文件查找 文件删除 文件的增删改查都是围绕inode来完成的&#xff0c;所以当我们要进行文件删除的时候&#xff0c;只需要通过inode来获取到它对应的block bitmap和inode bitmap数据块容器和保存文件属性的位置置为 0即可 &#xff0c;如果想…

【boost网络库从青铜到王者】第六篇:asio网络编程中的socket异步读(接收)写(发送)

文章目录 1、简介2、异步写 void AsyncWriteSomeToSocketErr(const std::string& buffer)3、异步写void AsyncWriteSomeToSocket(const std::string& buffer)4、异步写void AsyncSendToSocket(const std::string& buffer)5、异步读void AsyncReadSomeToSocket(cons…

一文看懂 iova、IOMMU、DMA

目录 一、概念解释 二、深入浅出 三、应用 四、常见问题 一、概念解释 IOVA&#xff08;IO Virtual Address&#xff0c;输入/输出虚拟地址&#xff09; IOMMU&#xff08;I/O Memory Management Unit&#xff09;&#xff1a;IOMMU是一种硬件单元&#xff0c;用于管理设备…

springboot sl4j2 写入日志到mysql

问题描述 springboot初始化的时候&#xff0c;会先初始化日志然后再加载数据源如果用配置文件进行初始化&#xff0c;那么会出现数据源没有加载成功&#xff0c;导致空指针异常 报错排查如下&#xff1a; 搜索报错信息&#xff0c;OBjects.invoke is Null打断点发现。dataso…

前端基础踩坑记录

前言&#xff1a;在做vue项目时&#xff0c;有时代码没有报错&#xff0c;但运行时却各种问题&#xff0c;没有报错排查起来就很费劲&#xff0c;本人感悟&#xff1a;写前端&#xff0c;需要好的眼神&#xff01;&#xff01;&#xff01;谨以此博客记录下自己的踩坑点。 一、…

【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~

Maven基础使用篇 1️⃣ 编写 POM2️⃣ 编写业务代码3️⃣ 编写测试代码4️⃣ 打包和运行5️⃣ 使用 Archetype生成项目骨架 1️⃣ 编写 POM 到目前为止&#xff0c;已经大概了解并安装好了Maven环境, 现在&#xff0c;我们开始创建一个最简单的 Hello World 项目。如果你是初次…

IDEA下SpringBoot指定环境、配置文件启动

1、idea下的SpringBoot启动&#xff1a;指定配置文件 Springboot项目有如下配置文件 主配置文件application.yml&#xff0c; 测试环境&#xff1a;application-test.yml 生产环境&#xff1a;application-pro.yml 开发环境&#xff1a;application-dev.yml 1.1.配置文件…

【FreeRTOS】【STM32】中断详细介绍

文章目录 一、三种优先级的概念辨析1. 先理清楚两个概念&#xff1a;CPU 和 MPU2. Cortex-M3 内核与 STM32F1XX 控制器有什么关系3. 优先级的概念辨析① Cortex-M3 内核和 STM32F1XX 的中断优先级② FreeRTOS 的任务的优先级 二、 Cortex-M3 内核的中断优先级1. 中断编号2. 优先…