[LeetCode周赛复盘] 第 106 场双周赛20230611

news2024/11/18 17:42:29

[LeetCode周赛复盘] 第 106 场双周赛20230611

    • 一、本周周赛总结
    • 6461. 判断一个数是否迷人
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6425. 找到最长的半重复子字符串
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6426. 移动机器人
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 6463. 找到矩阵中的好子集
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • T1 模拟。
  • T2 滑窗。
  • T3 前后缀分解。
  • T4 脑筋急转弯+子集型枚举。

在这里插入图片描述

6461. 判断一个数是否迷人

6461. 判断一个数是否迷人

1. 题目描述

在这里插入图片描述

2. 思路分析

按题意模拟即可。

3. 代码实现

class Solution:
    def isFascinating(self, n: int) -> bool:
        p = str(n) + str(n*2)+str(n*3)
        s = set(p)
        if len(s) == len(p)==9 and '0' not in s:
            return True 
        return False

6425. 找到最长的半重复子字符串

6425. 找到最长的半重复子字符串

1. 题目描述

在这里插入图片描述

2. 思路分析

数据量小可以暴力。
  • 滑窗,记录窗口内相同邻居的对数,超过1就缩左窗、

3. 代码实现

class Solution:
    def longestSemiRepetitiveSubstring(self, s: str) -> int:
        ans = 1
        q = deque()
        cnt = 0
        for i,v in enumerate(s):
            if q and q[-1]==v:
                cnt += 1
            q.append(v)
            while cnt > 1:
                if q[0] == q[1]:
                    cnt -= 1
                q.popleft()
            ans = max(ans,len(q))
        return ans 

6426. 移动机器人

6426. 移动机器人

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 首先发现机器人是相同不做区分的,那么相撞后反向,和穿过是一样的。注意两个机器人可以在同一位置。
  • 那么先暴力计算每个机器人最终位置,然后排序。
  • 接下来计算每个机器人到其他所有机器人的位置,前后缀分解即可。
  • 最后由于ij和ji不计算两次,答案要除以2。这里取模除以2用费马小定理计算2的逆元。

3. 代码实现

MOD = 10**9+7
class Solution:
    def sumDistance(self, nums: List[int], s: str, d: int) -> int:
        p = []
        for v,c in zip(nums,s):
            if c == 'L':
                p.append(v-d)
            else:
                p.append(v+d)
        p.sort()
        print(p)
        s = sum(p)
        pre = 0
        ans = 0
        n = len(nums)
        for i,v in enumerate(p):
            s -= v 
            ans += v*i-pre + s - v*(n-i-1)
            ans %= MOD
            pre += v             
        
        return ans*pow(2,MOD-2,MOD) % MOD 

6463. 找到矩阵中的好子集

6463. 找到矩阵中的好子集

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 答案要么1行,要么2行。
  • 因此先状压,找全0的行,有就返回它。
  • 否则枚举每种状态,找到相反的行,或者相反行的子集,返回他们。
  • 找不到就返回空

3. 代码实现


class Solution:
    def goodSubsetofBinaryMatrix(self, grid: List[List[int]]) -> List[int]:
        m, n = len(grid), len(grid[0])
        idx = [[] for _ in range(1 << n)]
        for i, row in enumerate(grid):
            s = 0
            for v in row:
                s = s * 2 + v
            idx[s].append(i)

        if idx[0]:
            return [idx[0][0]]
        mask = (1 << n) - 1
        for i, vs in enumerate(idx):
            if not vs:
                continue
            v = vs[0]
            j = i^mask
            p = j
            while p:
                if idx[p]:
                    return sorted([v,idx[p][0]])
                p = j & (p-1)
        # for i, vs in enumerate(idx):
        #     if not vs:
        #         continue
        #     v = vs[0]
        #     for j in range(i+1,1<<n):
        #         if idx[j] and (i&j) == 0:
        #             return sorted([idx[j][0],v])

        return []      

参考链接

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

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

相关文章

DHCP是什么?它有什么作用?其工作模式?工作原理?

目录 一、DHCP是什么&#xff1f;二、DHCP的作用&#xff1f;1. 在没有DHCP服务的网络中2. 在有DHCP服务的网络中 三、DHCP的工作模式简介四、DHCP的工作原理五、参考资料 一、DHCP是什么&#xff1f; DHCP是动态主机配置协议&#xff08;Dynamic Host Configuration Protocol…

Vue 封装ajax请求[接口]函数

在Vue项目开发当中&#xff0c;当有了后端提供的数据接口之后呢&#xff0c;就需要来为接口定义接口的请求函数&#xff0c;那么在去定义接口函数之前可以先来封装一个ajax请求函数&#xff1b;可能有的初学者在之前的一些篇目当中看到这个vue发起数据请求的不是使用axios的吗&…

3.MySQL表的增删改查(基础)

文章目录 ☕️1. CRUD☕️&#x1f375;2. 新增&#xff08;Create&#xff09;&#x1f375;&#x1f37c;2.1 单行数据 全列插入&#x1f37c;&#x1f37a;2.2 多行数据 指定列插入&#x1f37a;&#x1f378;2.3关于时间的插入格式(homework数据表)&#xff1a;&#x1f…

串口RS232、RS485最本质区别

由下图可看出不管是RS232还是RS485&#xff0c;其本质都是串口通信&#xff0c;只不过是串口通信电平上的变种而已。所以&#xff0c;我们首先从串口通信讲起。 1、串口通信 任何一种通信都要有物理接口和通信协议。串口通信物理接口如下图&#xff1a; 串口通信协议首先要约…

RBAC权限管理,Shiro实践

概念介绍 RBAC是指基于角色的访问控制&#xff08;Role-Based Access Control&#xff09;&#xff0c;它是一种广泛应用于计算机安全领域的访问控制机制。RBAC通过将用户分配到不同的角色&#xff0c;来控制用户对系统中资源的访问权限。 在RBAC中&#xff0c;每个角色都被…

LVS-DR群集部署

目录 一、LVS-DR数据包流向分析 二、 DR 模式的特点 总结 三、LVS-DR中的ARP问题 1.在局域网中具有相同的IP地址&#xff0c;势必会造成各服务器ARP通信的紊乱 2.路由器根据ARP表项&#xff0c;会将新来的请求报文转发给RealServer&#xff0c;导致Director的VIP失效 3.解…

openGauss5 企业版之yum方式安装

文章目录 1. 支持的架构和操作系统版本2. 使用限制3. 安装方式4. 使用说明 本章节主要介绍在openEuler 22.03 LTS操作系统上&#xff0c;通过yum命令一键安装openGauss数据库。 1. 支持的架构和操作系统版本 x86-64 openEuler 22.03 LTSARM64 openEuler 22.03 LTS 仅在openEu…

【博学谷学习记录】超强总结,用心分享 | 架构师 Maven学习总结

文章目录 Maven基本1.什么是Maven2.为什么用Maven?&#xff08;1&#xff09;jar 包的规模&#xff08;2&#xff09; jar 包的来源&#xff08;3&#xff09;jar 包之间的依赖关系 3.Maven目录结构4.maven仓库配置 Pom层次Pom文件简介Super POM 依赖管理1 依赖传递2 传递性依…

基于51单片机的智能火灾报警系统温度烟雾光

wx供重浩&#xff1a;创享日记 对话框发送&#xff1a;火灾报警 获取完整源码源文件电路图仿真文件论文报告等 功能简介 51单片机MQ-2烟雾传感ADC0832模数转换芯片DS18B20温度传感器数码管显示按键模块声光报警模块 具体功能&#xff1a; 1、实时监测及显示温度值和烟雾浓度…

【Docker】docker部署springboot+vue+mysql+nginx前后端分离项目【部署实战篇】

文章目录 0、安装docker并准备一个springboot-vue前后端分离项目前后端打包放到服务器上1、docker 安装jdk2、docker 安装mysql通过Docker命令进入Mysql容器内部初始化数据sqlDbx连接查看 3、docker build构建后端镜像修改配置数据库JDBC链接IP为虚拟机服务器IPmaven clean pac…

【MySQL】一文带你掌握聚合查询和联合查询

文章目录 1. 聚合函数1.1 COUNT1.2 SUM1.3 AVG1.4 MAX&#xff0c;MIN 2. GROUP BY3. HAVING4. 联合查询4.1 内连接4.2 外连接4.3 自连接4.4 子连接 5.合并查询5.1 UNION5.2 UNION ALL 1. 聚合函数 概念&#xff1a; 聚合函数是一种用于处理数据集合的函数&#xff0c;它将多个…

Fiddler 抓包的八个实用技巧,你学会了吗?

目录 前言 1、双击Session时&#xff0c;使响应页始终显示到”json”tab页&#xff1b;使请求页始终显示到“webform”tab页 2、显示每个Session 的请求IP地址 3、修改响应Header中的Content-Type 4、右键session 直接使用浏览器打开url 5、Session列中&#xff0c;显示每…

电脑拷贝到u盘数据丢失原因分析|3种恢复方法

在电脑操作中&#xff0c;经常需要将数据拷贝到U盘中进行备份或传输。但有时候&#xff0c;我们可能会遇到数据在拷贝或传输过程中丢失的情况。这种情况下&#xff0c;我们该如何找回这些丢失的数据呢&#xff1f; 下面&#xff0c;为大家介绍一些恢复U盘数据的方法&#xff0c…

[ICNN 1993] Optimal brain surgeon and general network pruning

Contents IntroductionMethodOptimal brain surgeon (OBS)Computing the inverse HessianThe ( t − o ) → 0 (\mathbf t-\mathbf o)\rightarrow 0 (t−o)→0 Approximation References Introduction 作者提出 Optimal brain damage (OBD) 的改进 Optimal brain surgeon (OB…

霍夫变换(Hough Transform)

文章目录 1. 什么是霍夫变换2. 霍夫直线检测2.1 霍夫直线检测的具体步骤2.2 霍夫直线检测的优缺点2.3 OpenCV中霍夫直线检测的应用2.3.1 标准霍夫检测2.3.2 概率霍夫检测 3. 霍夫圆检测4. 源码仓库地址 1. 什么是霍夫变换 霍夫变换(Hough Transform)是图像处理中的一种特征提取…

Spring Data Redis的使用

Redis的valus值的五种数据类型 问题&#xff1a;Windows下出现Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝&#xff0c;无法连接。 解决方法为在Redis-x64-3.2.100目录下打开两个cmd窗口&#xff0c;分别输入 命令redis-server.exe redis.windows…

【Go知识点】Gorm Hook 无侵入实现 数据表防篡改

一、前言 Hi&#xff0c;开门见山的说&#xff0c;这次给大家带来的是关于 Gorm Hook 机制的落地场景&#xff0c;笔者也是在Gorm官方文档中了解到有Hook机制的存在&#xff0c;不过一直没有找到过太多合适的场景来使用。 最近刚好在做一块新业务的设计&#xff0c;因为涉及到…

PL2303HXA自2012已停产,请联系供货商的解决办法

一、概述 PL2303 是Prolific 公司生产的一种高度集成的接口转换器&#xff0c;可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利连接的解决方案。PL2303具有多个历史版本&#xff0c;早期的版本是PL2303HX, 近年有PL2303HXA、PL2303HXC、PL2303HXD&#xff08;D版本…

SpringCloud01:SpringCloud介绍、服务提供者、服务消费者

SpringCloud和SpringBoot的关系 SpringBoot专注于快速、方便地开发单个个体微服务&#xff0c;SpringCloud关注全局的治理框架&#xff0c;它将SpringBoot开发的一个个单体微服务整合并管理起来&#xff0c;为各个微服务之间提供&#xff1a;管理配置、服务发现、断路器、路由…

GO-slice详解

GO-slice详解 简介 slice&#xff08;切片&#xff09;是go中常见和强大的类型&#xff0c;这篇文章不是slice使用简介&#xff0c;从源码角度来分析slice的实现&#xff0c;slice的一些迷惑的使用方式&#xff0c;同时也讲清楚一些问题。 slice的底层实现是数组&#xff0c…