[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 = 1ans = 0while i < n:if abs(ord(s[i])-ord(s[i-1])) <= 1:ans += 1i += 1i += 1                return ans

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

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

1. 题目描述

在这里插入图片描述

2. 思路分析

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

3. 代码实现

class Solution:def maxSubarrayLength(self, nums: List[int], k: int) -> int:l = 0cnt = Counter()ans = 0for i, v in enumerate(nums):cnt[v] += 1while cnt[v] > k:cnt[nums[l]] -= 1l += 1ans = 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] = 0ps.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 Falsereturn Trueans = 1for i in range(1,1 << n):ans += f(i)return ans 

参考链接

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

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

相关文章

解SQL联结:左联结

今天我们用下面的表来学习左联结。其中&#xff0c; 学生表&#xff08;student&#xff09;&#xff1a;用来记录学生的基本信息 成绩表&#xff08;score&#xff09;&#xff1a;用来记录学生选修课程的成绩 1.什么是左联结&#xff1f; 左联结&#xff0c;会将左侧表中的数…

如何为游戏角色3D模型设置纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

Python 云服务器应用,Https,定时重启

Python 云服务器应用,Https,定时重启 环境搭建Python模块模块导入生成Flask实例GET处理启动服务器打开网页验证 GET接入证书 支持https申请证书下载证书保留 xxx.crt 和 xxx.key文件就可以了 copy到python项目目录ssl_context 配置 宝塔面板操作在www目录下新建python工作目录在…

【Linux】如何对文本文件进行有条件地划分?——cut命令

cut 命令可以根据一个指定的标记&#xff08;默认是 tab&#xff09;来为文本划分列&#xff0c;然后将此列显示。 例如想要显示 passwd 文件的第一列可以使用以下命令&#xff1a;cut –f 1 –d : /etc/passwd cut&#xff1a;用于从文件的每一行中提取部分内容的命令。-f 1&…

JAVA+SSM+springboot+MYSQL企业物资库存进销存管理系统

。该系统从两个对象&#xff1a;由管理员和员工来对系统进行设计构建。主要功能包括首页、个人中心、员工管理、项目信息管理、仓库信息管理、供应商管理、项目计划管理、物资库存管理、到货登记管理、物资出库管理、物资入库管理等功能进行管理。本企业物资管理系统方便员工快…

计算机视觉 基于Open3D了解用于网格和点云邻域分析的KD树和八叉树

一、简述 距离计算和邻域分析是理解网格和点云的形状、结构和特征的重要工具。我们这里要基于一些3D库来提取基于距离的信息并将其可视化。 与深度图或体素相比,点云和网格表示 3D 空间中的非结构化数据。点由它们的 (X, Y, Z) 坐标表示,在 3D 空间中可能彼此靠近的两…

SQL命令---添加新字段

介绍 使用sql语句为表添加新字段。 命令 alter table 表名 add 新字段名 数据类型;例子 向a表中添加name字段&#xff0c;类型为varchar(255)。 alter table a add name varchar(255);下面是执行添加有的表结构&#xff1a;

100基于matlab的双线性变换法设计的切比雪夫II型低通滤波器语音信号

基于matlab的双线性变换法设计的切比雪夫II型低通滤波器语音信号&#xff0c;对加噪的语音信号进行降噪。数据可更换自己的&#xff0c;程序已调通&#xff0c;可直接运行。 100matlab切比雪夫II型低通滤波器 (xiaohongshu.com)

Activity从下往上弹出视差效果实现

其实这篇文章是转至简书上的大佬的&#xff0c;加上我自己的代码实践了下发现可行&#xff0c;于是就分享下 先看效果 介绍: 其实有很多方法都可以实现这种效果&#xff0c;popwindow&#xff0c;Dialog&#xff0c;BottomSheetDialogFragment&#xff0c;BottomSheetDialog等…

岳阳楼3D模型纹理贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 岳阳楼&#xff0c;位于湖南省岳阳市岳阳楼区洞庭北路&#xff0c;地…

SQL命令---修改字段的数据类型

介绍 使用sql语句修改字段的数据类型。 命令 alter table 表明 modify 字段名 数据类型;例子 有一张a表&#xff0c;表里有一个id字段&#xff0c;长度为11。使用命令将长度修改为12 下面使用命令进行修改&#xff1a; alter table a modify id int(12) NOT NULL;下面使修…

浮点数在计算机中如何存储

举例&#xff1a; 结果&#xff1a; 文字描述&#xff1a; 先将浮点数转化为二进制的表示形式&#xff0c; 接着将其二进制的形式按照科学计数法来表示&#xff0c; 符号位的确定&#xff1a;正数0&#xff0c; 负数1 指数的确定&#xff1a;将其二进制表示成为科学计数法…