[LeetCode周赛复盘] 第 348场周赛20230604

[LeetCode周赛复盘] 第 348场周赛20230604

    • 一、本周周赛总结
    • 6462. 最小化字符串长度
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6424. 半有序排列
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6472. 查询后矩阵的和
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6396. 统计整数数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • 这场可惜了。
  • T1 模拟。
  • T2 模拟。
  • T3 倒序计算。
  • T4 同时限制上下界的数位DP。
    在这里插入图片描述

6462. 最小化字符串长度

6462. 最小化字符串长度

1. 题目描述

在这里插入图片描述

2. 思路分析

题意仔细想一下就会发现,其实会将每个字符仅留1个。

3. 代码实现

class Solution:
    def minimizedStringLength(self, s: str) -> int:
        return  len(set(s))

6424. 半有序排列

6424. 半有序排列

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 由于只能相邻交换来移动,因此每次只能移动1步。
  • 那么分别找到1和n的位置,计算他们移动距离。
    • 额外的,若1在n的右边,移动路径交叉,那么可以1向左时,n会免费向右一下,因此答案-1。

3. 代码实现

class Solution:
    def semiOrderedPermutation(self, a: List[int]) -> int:
        n = len(a)
        x,y = a.index(1),a.index(n)
        return x + n-y-1-(x>y)
     

6472. 查询后矩阵的和

6472. 查询后矩阵的和

1. 题目描述

在这里插入图片描述

2. 思路分析

你就记住,最小化最大值=二分、覆盖求整体=逆序
  • 逆序处理后,每次格子的贡献是确定的,只需要记录每次操作有多少个格子被修改即可。
  • 那么用哈希表储存已被修改的行/列,若这行/列已被改过,那这次操作可以跳过。
    • 否则记录操作这行时,有多少个空位。即 n - len(ys)。

3. 代码实现

class Solution:
    def matrixSumQueries(self, n: int, queries: List[List[int]]) -> int:
        ans = 0
        xs = set()
        ys = set()
        for t,i,val in queries[::-1]:          
            if t == 0:
                if i not in xs:
                    ans += val * (n-len(ys))
                    xs.add(i)                 
            else:
                if i not in ys:
                    ans += val *(n-len(xs))
                    ys.add(i)
        return ans

6396. 统计整数数目

6396. 统计整数数目

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 套数位DP板子即可,这题同时限制了上下界,那么不用考虑前边填没填数的事(省去is_num参数)。
  • 除了上下界限制,同时传一个s作为数字求和进去。当i遍历到n时,判断方案是否合法,返回1/0。
  • 另外中途s已经超过上限的话可以提前退出。

  • 参见[python刷题模板] 数位DP
  • 加餐,同时限制上下界的数位dp1742. 盒子中小球的最大数量

3. 代码实现

MOD = 10**9 + 7
class Solution:
    def count(self, num1: str, num2: str, min_sum: int, max_sum: int) -> int:
        m,n = len(num1),len(num2)
        num1 = '0'*(n-m) + num1
        @cache
        def f(i,s,up_limit,down_limit):
            if i == n:
                if   min_sum<=s<=max_sum:
                    return 1
                else:
                    return 0
            if s > max_sum:
                return 0
            up = int(num2[i]) if up_limit else 9 
            down = int(num1[i]) if down_limit else 0 
            ans = 0
            
            for j in range(down,up+1):
                ans += f(i+1,s+j,up_limit and j==up,down_limit and j == down)
                ans %= MOD 
            return ans 
        return f(0,0,True,True)                       

参考链接

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

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

相关文章

echarts的y轴数据显示过长占不下,内容截取,鼠标hover上去显示全部

初始效果&#xff1a; 优化后的效果&#xff1a; 优化点&#xff1a;控制了y轴显示字数&#xff0c;鼠标hover上去显示全部 主要实现思路参考了这位同学的文章&#xff1a;https://www.cnblogs.com/liuboren/p/9040622.html 我是用vue实现的&#xff0c;因为我需要一个页面中…

go调试工具-delve

go调试工具-delve 简介 go debug工具&#xff0c;专门为go开发的调试工具&#xff0c;并且采用go语言开发&#xff0c;支持多平台。 官网&#xff1a;https://github.com/go-delve/delve 官网有详细的手册&#xff0c;学习起来很方便 快速开始 安装 我本地的go版本 官方…

QGIS 对 GeoJson 文件数据进行压缩

项目场景 地图开发&#xff0c;友商提供的是边界Shapefile文件&#xff0c;文件比较大&#xff0c;例如某个文件就 29.2 M &#xff0c;这么大的数据&#xff0c;在echarts 上显示地图&#xff0c;前端会很卡&#xff0c;特别是有地图下钻的时候&#xff0c;体验很不好&#x…

Window winget 包管理工具安装踩坑记录

一、简介 想在 window 上安装一个好用的包管理工具&#xff0c;mac 上用 homebrew, window 则考虑再三&#xff0c;使用官方提供的 winget。 winget 官方使用文档。 二、安装流程与踩坑记录 按 win x&#xff0c;选择 Powershell&#xff08;管理员&#xff09; 方式打开 c…

mysql数据类型有哪几种

Mysql支持的多种数据类型主要有&#xff1a;数值数据类型、日期/时间类型、字符串类型。 整数 浮点数&定点数 注&#xff1a;定点数以字符串形式存储&#xff0c;对精度要求高时使用decimal较好&#xff1b;尽量避免对浮点数进行减法和比较运算。 时间/日期类型 字符串类型…

网格搜索:Python遍历网格中每个点

遍历网格中每个点 1. 问题描述2. Python实现2.1 网格参数初始化2.2 遍历赋值2.3 矩阵赋值1. 问题描述 最近需要实现一个对矩阵赋值并对矩阵表示的网格参数进行测试的任务,假设网格的长宽均为k,待搜索的两个参数是Pitch 和 Yaw,存在两个列表中。现在需要将网格上不同参数设置…

Redis实战14-分布式锁基本原理和不同实现方式对比

在上一篇文章中&#xff0c;我们知道了&#xff0c;当在集群环境下&#xff0c;synchronized关键字实现的JVM级别锁会失效的。那么怎么解决这个问题呢&#xff1f;我们可以使用分布式锁来解决。本文咱们就来介绍分布式锁基本原理以及不同实现方式对比。 我们先来回顾&#xff…

IMX6ULL裸机篇之I2C实验-硬件原理图

一. I2C 实验简介 I2C实验&#xff0c;我们就来学习如何使用 I.MX6U 的 I2C 接口来驱动 AP3216C&#xff0c;读取 AP3216C 的传感器数据。 AP3216C是一个三合一的环境光传感器&#xff0c;ALSPSIRLED&#xff0c;ALS是环境光&#xff0c;PS是接近传感器&#xff0c;IR是红外L…

若依之权限处理

若依之权限处理 若依前后端不分离版本使用的是shiro进行权限控制&#xff0c;本文主要是对shiro在若依中的使用进行分析。 RBAC权限模型 RBAC是指基于角色的访问控制。其基本思想是&#xff0c;对系统的各种权限不是直接授予具体的用户&#xff0c;而是在用户集合与权限集合…

通过python采集关键字搜索1688工厂数据接口,1688工厂数据接口,1688API接口

1688是一个行业网站&#xff0c;主要提供中小型批发和生产商的信息&#xff0c;是中国供应商向全球采购商展示其产品的平台。在1688上&#xff0c;可以找到许多工厂和制造商的信息&#xff0c;包括公司名称、地址、联系人、联系方式、主要产品等。 采集1688工厂数据可以帮助采…

PDCCH monitoring capability

欢迎关注同名微信公众号“modem协议笔记”。 前段时间看search space set group (SSSG) switching相关内容时&#xff0c;注意到R17和R16的描述由于PDCCH monitoring capability的变化&#xff0c;内容有些不一样。于是就顺带看了下R16 R17PDCCH monitoring capability的内容。…

实战:单点登录的两种实现方式,附源码

最近工作有点忙&#xff0c;好久没更新文章了&#xff0c;正好这两天在整理单点登陆相关的文档&#xff0c;今天趁着小孩睡着了&#x1f92b;&#xff0c;赶紧码一篇实战文交差。 概念 单点登录&#xff08;Single Sign-On&#xff0c;SSO&#xff09;是一种身份验证服务&…

【Mysql】InnoDB 中 B+ 树索引的注意事项

一、根页面万年不动 在之前的文章里&#xff0c;为了方便理解&#xff0c;都是先画存储用户记录的叶子节点&#xff0c;然后再画出存储目录项记录的内节点。 但实际上 B 树的行成过程是这样的&#xff1a; 每当为某个表创建一个 B 树索引&#xff0c;都会为这个索引创建一个根…

单例模式C++实现和观察者模式C++实现

目录 1、单例模式介绍 2、单例代码实现 2.1 static介绍 2.2 C中static的三种用法&#xff1a; &#xff08;1&#xff09;静态局部变量 &#xff08;2&#xff09;静态成员变量 &#xff08;3&#xff09;静态成员函数 3、观察者模式介绍 4、观察者代码实现 1、单例模…

2023年十大最佳自动化测试工具(建议收藏)

Best Automation Testing Tools for 2023 对更快交付高质量软件&#xff08;或"快速质量"&#xff09;的需求要求组织以敏捷&#xff0c;持续集成&#xff08;CI&#xff09;和DevOps方法论来寻找解决方案。测试自动化是这些方面的重要组成部分。最新的《 2018-2019…

使用koa2搭建后端服务器

目录 第一步 第二步 第三步 第四步 第五步 流程说明 1.配置连接数据库 2.添加Schema模型 3.配置路由接口 第一步 npm i -g koa-generator 第二步 koa2 server 第三步 cd server && npm install 第四步 将服务器拖进编译器运行 npm run dev 在浏览器输入…

迅为RK3568开发板2800页手册+220集视频

iTOP-3568开发板采用瑞芯微RK3568处理器&#xff0c;内部集成了四核64位Cortex-A55处理器。主频高达2.0Ghz&#xff0c;RK809动态调频。集成了双核心架构GPU&#xff0c;ARM G52 2EE、支持OpenGLES1.1/2.0/3.2OpenCL2.0、Vulkan 1.1、内高性能2D加速硬件。 内置NPU 内置独立NP…

SpringBoot生成RESTful API文档

由于我一开始学习的SpringBoot是3以上版本&#xff0c;所以我这里用到的也是支持和SpringBoot3能够整合的SpringDoc 这里先说一下&#xff0c;其实SpringDoc就是Swagger3版本&#xff0c;我一开始整合的2版本&#xff0c;比较麻烦况且最后SpringBoot程序都启动不了了&#xff0…

信息竞赛笔记(2)––快速幂

目录 快速幂 定义 分析 代码 递归实现 非递归实现(通用方法) 模意义下取幂 快速幂 定义 快速幂,二进制取幂(Binary Exponentiation,也称平方法),是一个在的时间内计算的小技巧&#xff0c;而暴力的计算需要的时间。 这个技巧也常常用在非计算的场景&#xff0c;因为它可…

yolov5部署到android studio

目录 环境获取demo将pt文件导出为ptl文件修改demo修改PrePostProcessor增加ptl文件并增加类别文件修改MainActivity 大功告成 环境 Ubuntu22.10 Pytorch2.0.1cu117 Android Studio Flamingo | 2022.2.1 Patch 1 获取demo git clone https://github.com/pytorch/android-demo…