[LeetCode周赛复盘] 第 119 场双周赛20231209

[LeetCode周赛复盘] 第 119 场双周赛20231209

    • 一、本周周赛总结
    • 100130. 找到两个数组中的公共元素
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 100152. 消除相邻近似相等字符
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 100147. 最多 K 个重复元素的最长子数组
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 100140. 关闭分部的可行集合数目
      • 1. 题目描述
      • 2. 思路分析
      • 3. 代码实现
    • 参考链接

一、本周周赛总结

  • T1 模拟。
  • T2 贪心。
  • T3 滑窗。
  • T4 floyd+枚举。

100130. 找到两个数组中的公共元素

100130. 找到两个数组中的公共元素

1. 题目描述

在这里插入图片描述

2. 思路分析

按题意模拟即可。

3. 代码实现

class Solution:
    def findIntersectionValues(self, nums1: List[int], nums2: List[int]) -> List[int]:
        s1 = set(nums1)
        s2 = set(nums2)
        return [sum(1 for num in nums1 if num in s2), sum(1 for num in nums2 if num in s1)]

100152. 消除相邻近似相等字符

100152. 消除相邻近似相等字符

1. 题目描述

在这里插入图片描述

2. 思路分析

贴模板。

  • 都乘到一起找质因数就是分别找质因数然后去重,因此用set记录并集即可。

3. 代码实现

class Solution:
    def removeAlmostEqualCharacters(self, word: str) -> int:
        n = len(word)
        s = list(word)
        i = 1
        ans = 0
        while i < n:
            if abs(ord(s[i])-ord(s[i-1])) <= 1:
                ans += 1
                i += 1
            i += 1                
        
        return ans

100147. 最多 K 个重复元素的最长子数组

100147. 最多 K 个重复元素的最长子数组

1. 题目描述

在这里插入图片描述

2. 思路分析

  • 很板的滑窗。用一个哈希表统计次数即可。

3. 代码实现

class Solution:
    def maxSubarrayLength(self, nums: List[int], k: int) -> int:
        l = 0
        cnt = Counter()
        ans = 0
        for i, v in enumerate(nums):
            cnt[v] += 1
            while cnt[v] > k:
                cnt[nums[l]] -= 1
                l += 1
            ans = max(ans, i - l + 1)
        return ans

100140. 关闭分部的可行集合数目

100140. 关闭分部的可行集合数目

1. 题目描述

在这里插入图片描述

2. 思路分析

  • n=10,因此考虑暴力枚举每种方案。也就1024种。
  • 每个方案求距离可以floyd。
  • roads有1000条,但n=10其实最多55条有效的(最短的)。直接预处理邻接矩阵即可。

3. 代码实现

class Solution:
    def numberOfSets(self, n: int, maxDistance: int, roads: List[List[int]]) -> int:
        d = [[inf]*n for _ in range(n)]
        for u,v,w in roads:
            d[u][v] = min(d[u][v], w)
            d[v][u] = min(d[v][u], w)        
                
        def f(t):
            ps = []
            dis = [[inf] * n for _ in range(n)]
            for u in range(n):
                if t >> u & 1:
                    dis[u][u] = 0
                    ps.append(u)
                    for v in range(n):
                        if t >> v & 1:
                            dis[u][v] = min(dis[u][v], d[u][v])

            for k in ps:
                for u in ps:
                    for v in ps:
                        dis[u][v] = min(dis[u][v], dis[u][k] + dis[k][v])

            for u in ps:
                for v in ps:
                    if dis[u][v] > maxDistance:
                        return False
            return True

        ans = 1
        for i in range(1,1 << n):
            ans += f(i)
        return ans 

参考链接

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

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

相关文章

4.8 构建onnx结构模型-Less

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以 Less 结点进行分析 方式 方法一&a…

Redis有序集合对象

一.编码 有序集合的编码可以是ziplist或者skiplist。 ziplist编码的有序集合对象使用压缩列表作为底层实现&#xff0c;每一个集合元素使用紧挨在一起的两个压缩列表节点来保存。第一个节点保存元素的成员(member)&#xff0c;而第二个元素则保存元素的分值(score)。 127.0.0.…

Javaweb之 依赖管理的详细解析

04. 依赖管理 4.1 依赖配置 依赖&#xff1a;指当前项目运行所需要的jar包。一个项目中可以引入多个依赖&#xff1a; 例如&#xff1a;在当前工程中&#xff0c;我们需要用到logback来记录日志&#xff0c;此时就可以在maven工程的pom.xml文件中&#xff0c;引入logback的依…

无参RCE [GXYCTF2019]禁止套娃1

打开题目 毫无思绪&#xff0c;先用御剑扫描一下 只能扫出index.php 我们尝试能不能用php伪协议读取flag php://filter/readconvert.base64-encode/resourceindex.php php://filter/readconvert.base64-encode/resourceflag.php 但是页面都回显了429 怀疑是不是源码泄露 用…

【GDB】

GDB 1. GDB调试器1.1 前言1.2 GDB编译程序1.3 启动GDB1.4 载入被调试程序1.5 查看源码1.6 运行程序1.7 断点设置1.7.1 通过行号设置断点1.7.2 通过函数名设置断点1.7.3 通过条件设置断点1.7.4 查看断点信息1.7.5 删除断点 1.8 单步调试1.9 2. GDB调试core文件2.1 设定core文件的…

Qt之QSlider和QProgressBar

Qt之QSlider和QProgressBar 实验结果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);connect(ui->dial,&QDial::valueChanged,this,&Widget::do_val…

【Oracle】backup备份时报错ORA-19809,ORA-9804

Oracle备份数据库时报错 ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim 10305536 bytes disk space from 4385144832 limit 1.清理过时的备份&#xff1a; 使用RMAN删除不再需要的过时备份&#xff0c;以释放空间。执行以下命令&#xff1a; DEL…

win系统一台电脑安装两个不同版本的mysql教程

文章目录 1.mysql下载zip包&#xff08;地址&#xff09;2.解压在你的电脑上&#xff08;不要再C盘和带中文的路径&#xff09;3.创建my.ini文件4.更改环境变量&#xff08;方便使用, 可选&#xff09;5.打包mysql服务6.初始化mysql的data7.启动刚刚打包的服务8.更改密码 1.mys…

普冉(PUYA)单片机开发笔记(8): ADC-DMA多路采样

概述 上一个实验完成了基于轮询的多路 ADC 采样&#xff0c;现在尝试跑一下使用 DMA 的 ADC 多路采样。厂家例程中有使用 DMA 完成单路采样的&#xff0c;根据这个例程提供的模板&#xff0c;再加上在 STM32 开发同样功能的基础&#xff0c;摸索着尝试。 经过多次修改和测试&…

《安富莱嵌入式周报》第328期:自主微型机器人,火星探测器发射前失误故障分析,微软推出12周24期免费AI课程,炫酷3D LED点阵设计,MDK5.39发布

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 更新一期视频教程&#xff1a; 【实战技能】 单步运行源码分析&#xff0c;一期视频整明白FreeRTOS内核源码框架和运行…

解释Spring中一个bean的注入过程

目录 1、定义Bean&#xff1a; XML配置方式&#xff1a; 2、注入方式&#xff1a; 构造器注入&#xff08;Constructor Injection&#xff09;&#xff1a; Setter方法注入&#xff08;Setter Injection&#xff09;&#xff1a; 字段注入&#xff08;Field Injection&…

【AntDB 数据库】国产分布式数据库发展趋势与难点

引言&#xff1a; 日前&#xff0c;为更好地满足亚信科技客户对于数据管理的需求&#xff0c;提高通用型数据库的产品服务能力与业务拓展能力&#xff0c;亚信科技分布式数据库AntDB发布V7.0版本产品&#xff0c;助力运营商核心系统实现全方位的自主可控与业务系统的平稳上线。…

nodejs微信小程序+python+PHP北京地铁票务APP-计算机毕业设计推荐 -安卓

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

web漏洞的攻击及抓取攻击流量

以dvwa靶场为例&#xff0c;使用wireshark抓取攻击流量&#xff0c;并定位关键字段 SQL注入 攻击 在sql注入攻击 1 and 12 union select version(),2#流量特征 在数据包中可以清晰的查看源IP和目的IP 在Wireshark选中Ethernet0网卡 点击Submit&#xff0c;进行抓包 利用…

【STM32】TIM定时器编码器

1 编码器接口简介 Encoder Interface 编码器接口 编码器接口可接收增量&#xff08;正交&#xff09;编码器的信号&#xff0c;根据编码器旋转产生的正交信号脉冲&#xff0c;自动控制CNT自增或自减&#xff0c;从而指示编码器的位置、旋转方向和旋转速度 接收正交信号&#…

达梦数据库dm8守护集群部署手册

环境说明 操作系统&#xff1a;liunx-centos7.6 服务器&#xff1a;3台虚拟机&#xff08;主备数据库各一台&#xff0c;监视器一台(可选)&#xff09; 达梦数据库版本&#xff1a;达梦V8 一、安装前准备工作 参考达梦官方文档&#xff1a;https://eco.dameng.com/documen…

记一次堆内外内存问题的排查和优化

为优化淘宝带宽成本&#xff0c;我们在网关 SDK&#xff08;Java&#xff09;统一使用 ZSTD 替代 GZIP 压缩以获取更高的压缩比&#xff0c;从而得到更小的响应包。具体实现采用官方推荐的 zstd-jni 库。zstd-jni 会调用 zstd 的 c 库。 背景 在性能压测和优化过程中&#xff0…

基于 Gin 的 HTTP 中间人代理 Demo

前面实现的代理对于 HTTPS 流量是进行盲转的&#xff0c;也就是说直接在 TCP 连接上传输 TLS 流量&#xff0c;但是我们无法查看或者修改它的内容。当然了&#xff0c;通常来说这也是不必要的。不过对于某些场景下还是有必要的&#xff0c;例如使用 Fiddler 进行抓包或者监控其…

Git 五分钟教程速度入门

Git 五分钟教程速度入门 分类 编程技术 许多人认为 Git 太混乱&#xff0c;或认为它是一种复杂的版本控制系统&#xff0c;其实不然&#xff0c;这篇文章有助于大家快速上手使用 Git。 入门 使用Git前&#xff0c;需要先建立一个仓库(repository)。您可以使用一个已经存在的…

HLS实现图像膨胀和腐蚀运算--xf_dilation和xf_erosion

一、图像膨胀和图像腐蚀概念 我们先定义&#xff0c;需要处理的图片为二值化图像A。图片的背景色为黑色&#xff0c;即像素值为0。图片的目标色为白色&#xff0c;即像素值为1。 再定义一个结构元S&#xff0c;结构元范围内所有的像素为白色&#xff0c;像素值为1。 1、图像的…
最新文章