[LeetCode周赛复盘] 第 371 场周赛20231112
[LeetCode周赛复盘] 第 371 场周赛20231112
- 一、本周周赛总结
- 100120. 找出强数对的最大异或值 I
- 1. 题目描述
- 2. 思路分析
- 3. 代码实现
- 100128. 高访问员工
- 1. 题目描述
- 2. 思路分析
- 3. 代码实现
- 100117. 最大化数组末位元素的最少操作次数
- 1. 题目描述
- 2. 思路分析
- 3. 代码实现
- 100124. 找出强数对的最大异或值 II
- 1. 题目描述
- 2. 思路分析
- 3. 代码实现
- 参考链接
一、本周周赛总结
- T1 模拟。
- T2 模拟。
- T3 模拟贪心。
- T4 带删除的异或字典树+滑窗。
100120. 找出强数对的最大异或值 I
100120. 找出强数对的最大异或值 I
1. 题目描述
和T4相同,略。
2. 思路分析
看T4。
3. 代码实现
略。
100128. 高访问员工
100128. 高访问员工
1. 题目描述

2. 思路分析
- 把时间转化成分钟数,看a[i]-a[i-2]<60即可。
3. 代码实现
class Solution:def findHighAccessEmployees(self, access_times: List[List[str]]) -> List[str]:g = defaultdict(list)for x,y in access_times:g[x].append(y)ans = []def f(x):return int(x[:2])*60 + int(x[2:])for p, a in g.items():a = sorted(f(x) for x in a)for i in range(2,len(a)):if a[i] - a[i-2] < 60:ans.append(p)breakreturn ans
100117. 最大化数组末位元素的最少操作次数
100117. 最大化数组末位元素的最少操作次数
1. 题目描述

2. 思路分析
- 由于每次操作只能交换同位置的数,那我们尝试末尾是否交换,然后枚举每个位置是否交换即可。
3. 代码实现
class Solution:def minOperations(self, nums1: List[int], nums2: List[int]) -> int:n = len(nums1)def f(e1,e2):ans = 0if not (e1 == nums1[-1] and e2 == nums2[-1]):ans = 1 for x,y in zip(nums1[:-1], nums2[:-1]):if x <= e1 and y <= e2:continuex,y = y,x if x <= e1 and y <= e2:ans += 1else:return inf return ans ans = min(f(nums1[-1],nums2[-1]),f(nums2[-1],nums1[-1]))if ans == inf:return -1 return ans
100124. 找出强数对的最大异或值 II
100124. 找出强数对的最大异或值 II
1. 题目描述

2. 思路分析
T1的数据强化版。
- 公式可以转化,令x>=y,则|x-y|<=min(x,y)等价于
x-y <= y,即x<=2y
- 我们把数组排序,然后滑窗处理,对于每个入窗的x,队头<x/2的数据都移除,那么窗口内的数据都是合法的y。
- 如何对窗口内的数据全部异或x去最大值呢?这可以用TrieXOR来处理复杂度lg(U)。
- 注意由于要出窗,字典树要支持删除。
3. 代码实现
class Solution:def maximumStrongPairXor(self, nums: List[int]) -> int:nums.sort()trie = {}def insert(v):cur = triefor i in range(20,-1,-1):p = v >> i & 1if p not in cur:cur[p] = {}cur = cur[p]cur[3] = cur.get(3,0) + 1def remove(v):cur = trie for i in range(20,-1,-1):p = v >> i & 1cur[p][3] -= 1if not cur[p][3]:del cur[p]breakcur = cur[p]def find(v):cur = trie ans = 0 for i in range(20,-1,-1):p = v>>i&1if p ^ 1 in cur:cur = cur[p^1]ans = ans << 1 | 1else:cur = cur[p]ans <<= 1return ansq = deque()ans = 0for v in nums:q.append(v)insert(v)while q[0]*2 < v: remove(q.popleft())ans = max(ans, find(v))return ans
参考链接
相关文章:
[LeetCode周赛复盘] 第 371 场周赛20231112
[LeetCode周赛复盘] 第 371 场周赛20231112 一、本周周赛总结100120. 找出强数对的最大异或值 I1. 题目描述2. 思路分析3. 代码实现 100128. 高访问员工1. 题目描述2. 思路分析3. 代码实现 100117. 最大化数组末位元素的最少操作次数1. 题目描述2. 思路分析3. 代码实现 100124…...
Google Guava Cache LoadingCache 基本使用
一. 添加依赖 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>27.1-jre</version> </dependency>二. 创建CacheLoader LoadingCache<Long, String> cache CacheBuilder.newB…...
AWS云服务器EC2实例进行操作系统迁移
AWS云服务器EC2实例进行操作系统迁移 文章目录 AWS云服务器EC2实例进行操作系统迁移1. 亚马逊EC2云服务器简介1.2 亚马逊EC2云务器与弹性云服务器区别 2. 亚马逊EC2云服务器配置流程2.1 亚马逊EC2云服务器实例配置2.1.1 EC2实例购买教程2.1.1 EC2实例初始化配置2.1.2 远程登录E…...
《015.SpringBoot+vue之音乐网》【前后端分离】
《015.SpringBootvue之音乐网》【前后端分离】 项目简介 [1]本系统涉及到的技术主要如下: 推荐环境配置:DEA jdk1.8 Maven MySQL 前后端分离; 后台:SpringBootMybatisMySQL; 前台:Vue3.0 TypeScript Vue-Router Vuex Axios …...
网格算法和穷举法
介绍 网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具 当需要在多个离散的点(比如网格点)…...
【AI】自回归 (AR) 模型使预测和深度学习变得简单
自回归 (AR) 模型是统计和时间序列模型,用于根据数据点的先前值进行分析和预测。这些模型广泛应用于各个领域,包括经济、金融、信号处理和自然语言处理。 自回归模型假设给定时间变量的值与其过去的值线性相关,这使得它们可用于建模和预测时…...
安卓常见设计模式14------单例模式(Kotlin版)
1. W1 是什么,什么是单例模式? 单例模式属于创建型模式,旨在确保一个类只有一个实例,并提供一个全局访问点来获取该实例。单例模式的核心思想是限制类的实例化,使得系统中只有一个共享的实例。 2. W2 为什么&#…...
卡尔曼家族从零解剖-(06)一维卡尔曼滤波编程实践
讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的 卡尔曼家族从零解剖 链接 :卡尔曼家族从零解剖-(00)目录最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/133846882 文末正下方中心提供了本人 联系…...
macOS使用conda初体会
最近在扫盲测序的一些知识 其中需要安装一些软件进行练习,如质控的fastqc,然后需要用conda来配置环境变量和安装软件。记录一下方便后续查阅学习 1.安装miniconda 由于我的电脑之前已经安装了brew,所以我就直接用brew安装了 brew install …...
GetPrivateProfileSection使用
基本语法 GetPrivateProfileSection 是一个 Windows API 函数,用于检索指定 INI 文件中特定节的所有键值对。它可以读取INI文件中指定节所有的键值对并将结果存储在指定的缓冲区中。 以下是 GetPrivateProfileSection 函数的基本语法: DWORD GetPriva…...
Ubuntu20.04 安装 Matlab R2021a
1. 压缩包分卷解压缩 将下载下来的压缩包分卷解压缩 Ubuntu自带的archive会解压出错,不适用于分卷解压。 需要下载7zip (sudo apt-get install 走起) zip -F xxx.zip --out XXX.zip # xxx为主文件名 # XXX.zip为输出路径,上面的…...
让35岁程序员精力充沛的方法
最近重新阅读了《掌控:开启不疲惫、不焦虑的人生》这本书。这本书曾经对我减重20斤产生了巨大的影响。自然入睡、自然醒来,能够高效地工作和享受生活,这才是我们渴望的掌控感。以下是一些笔记: 少吃比多运动更有效地控制体重 每…...
01:2440----点灯大师
目录 一:点亮一个LED 1:原理图 2:寄存器 3:2440的框架和启动过程 A:框架 B:启动过程 4:代码 5:ARM知识补充 6:c语言和汇编的应用 A:代码 B:分析汇编语言 C:内存空间 7:内部机制 二:点亮2个灯 三:流水灯 四:按键控制LED 1:原理图 2:寄存器配置 3:代码 一:点…...
初步了解 RabbitMQ
目录 编辑一、MQ 概述 1、MQ 的简介 2、MQ 的用途 (1)限流削峰 (2)异步解耦 (3)数据收集 二、RabbitMQ 概述 1、RabbitMQ 简介 2、四大核心概念 3、RabbitMQ 的核心部分 编辑 4、名词解释: 三、Hello …...
Faster-RCNN and Mask-RCNN框架解析
由于本人记忆力实在太差,每次学完一个框架没过多久就会忘,而且码文能力不行,人又懒,所以看到了其他人写的不错的两篇框架解析的博文,先来记录一下,就当是我写的喽 Faster-rcnn详解_faster r-cnn-CSDN博客 M…...
大数据可视化数据大屏可视化模板【可视化项目案例-05】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…...
Vue Router active-class 属性
active-class 是 vue-router 模块的 router-link 组件的属性,当 router-link 标签被点击时将会应用这个样式。 单独在 router-link 标签上使用 active-class 属性 <router-link to"/about" active-class"active">about</router-link…...
Error creating bean with name ‘apiModelSpecificationReader‘ defined in URL
问题: 启动项目的时候,报错了 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name apiModelSpecificationReader defined in URL [jar:file:/D:/.gradle/caches/modules-2/files-2.1/io.springfox/sp…...
CS224W6.2——深度学习基础
在本文中,我们回顾了深度学习的概念和技术,这些概念和技术对理解图神经网络至关重要。从将机器学习表述为优化问题开始,介绍了目标函数、梯度下降、非线性和反向传播的概念。 文章目录 1. 大纲2. 优化问题2.1 举例损失函数 3. 如何优化目标函…...
Linux c/c++服务器开发实践
在Linux C开发环境中,通常有两种方式来开发多线程程序,一种是利用POSIX多线程 API函数来开发多线程程序,另外一种是利用C自带线程类来开发程序。 常见的与线程相关的基本API函数: API函数含义pthread_create创建线程pthread_exi…...
Mem Reduct终极指南:一键解决Windows内存卡顿的完整教程
Mem Reduct终极指南:一键解决Windows内存卡顿的完整教程 【免费下载链接】memreduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 项目地址: https://gitcode.com/gh_mirrors/me/memreduct …...
别再只用VSCode了!用ACEeditor在Vue/React项目中快速搭建一个在线代码编辑器
深度整合ACEeditor:现代前端框架中的高性能代码编辑器解决方案 在当今快速发展的前端开发生态中,代码编辑器的集成已成为许多应用的核心需求。无论是构建在线IDE、教学平台还是需要内嵌代码编辑功能的SaaS产品,开发者都面临着一个关键选择&am…...
Open GApps包怎么选?从Platform到Variant,一次讲清安卓11/12 GMS安装包下载门道
Open GApps包选择指南:从Platform到Variant的完整解析 当你为定制ROM设备寻找合适的Google移动服务(GMS)安装包时,The Open GApps Project官网上的众多选项可能会让人眼花缭乱。面对Platform、Android版本和Variant等专业术语,很多用户往往感…...
higress 这个中登才是AI时代的心头好纤
核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一…...
OpenClaw从入门到应用——频道:Signal
通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》 Quick setup (beginner) 为机器人使用一个独立的 Signal 号码(推荐)。安装 signal-cli(如果使用 JVM 构建版,需要 J…...
UE Viewer终极教程:解锁虚幻引擎资源宝库的完整指南
UE Viewer终极教程:解锁虚幻引擎资源宝库的完整指南 【免费下载链接】UEViewer Viewer and exporter for Unreal Engine 1-4 assets (UE Viewer). 项目地址: https://gitcode.com/gh_mirrors/ue/UEViewer UE Viewer是一款功能强大的虚幻引擎资源查看与导出工…...
比迪丽AI绘画在网络安全领域的应用:威胁可视化分析
比迪丽AI绘画在网络安全领域的应用:威胁可视化分析 1. 网络安全可视化的挑战与机遇 网络安全领域一直面临着一个核心难题:如何从海量的日志数据、流量信息和威胁指标中快速识别出真正的安全威胁。传统的安全分析往往依赖于表格数据、命令行输出和数字指…...
BERT文本分割模型部署:为语音转写稿添加段落结构
BERT文本分割模型部署:为语音转写稿添加段落结构 1. 引言:语音转写稿的结构化困境 在会议记录、在线课程、访谈整理等场景中,我们经常需要将语音内容转换为文字稿。虽然自动语音识别(ASR)技术已经相当成熟,但生成的文本往往缺乏…...
C++条件变量(一):从轮询到唤醒 —— 条件变量的设计动机与基础用法
文章目录0.引言1.核心组件与基本 API2.生产者-消费者示例3.为什么 wait必须与互斥锁配合使用?4.notify_one 与 notify_all 的区别5.谓词版本的 wait 为什么更安全?6. 小结0.引言 在多线程编程程序中,线程之间经常需要协同工作。常见的一种场…...
智能管理解决方案:重新定义《原神》圣遗物自动化处理效率标准
智能管理解决方案:重新定义《原神》圣遗物自动化处理效率标准 【免费下载链接】cocogoat-client A toolbox for Genshin Impact to export artifacts automatically. 支持圣遗物全自动导出的原神工具箱,保证每一行代码都是熬夜加班打造。 项目地址: ht…...
