第 371 场 LeetCode 周赛题解

A 找出强数对的最大异或值 I

在这里插入图片描述

模拟

class Solution {
public:int maximumStrongPairXor(vector<int> &nums) {int n = nums.size();int res = 0;for (auto x: nums)for (auto y: nums)if (abs(x - y) <= min(x, y))res = max(res, x ^ y);return res;}
};

B 高访问员工

在这里插入图片描述
在这里插入图片描述

哈希+排序:用哈希表记录各个员工所有的访问时间,并对访问时间排序,然后遍历排序后的相邻三元组判断

class Solution {
public:vector<string> findHighAccessEmployees(vector<vector<string>> &access_times) {unordered_map<string, vector<int>> li;for (auto &it: access_times)//时间转化为总秒数li[it[0]].push_back(getint(it[1][0]) * 600 + getint(it[1][1]) * 60 + getint(it[1][2]) * 10 + getint(it[1][3]));vector<string> res;for (auto &[k, v]: li) {sort(v.begin(), v.end());for (int i = 2; i < v.size(); i++)if (v[i] - v[i - 2] < 60) {res.push_back(k);break;}}return res;}inline int getint(char ch) {return ch - '0';}
};

C 最大化数组末位元素的最少操作次数

在这里插入图片描述
在这里插入图片描述

模拟:分两种情况:1)不交换 n u m s 1 [ n − 1 ] nums1[n - 1] nums1[n1] n u m s 2 [ n − 1 ] nums2[n - 1] nums2[n1] ;2)交换 n u m s 1 [ n − 1 ] nums1[n - 1] nums1[n1] n u m s 2 [ n − 1 ] nums2[n - 1] nums2[n1]。每种情况下遍历 i ∈ [ 0 , n ) i\in [0,n) i[0,n) ,若 n u m s 1 [ i ] > n u m s 1 [ n − 1 ] nums1[i] > nums1[n-1] nums1[i]>nums1[n1] n u m s 2 [ i ] > n u m s 2 [ n − 1 ] nums2[i] > nums2[n-1] nums2[i]>nums2[n1],则交换 n u m s 1 [ i ] nums1[i] nums1[i] n u m s 2 [ i ] nums2[i] nums2[i],若交换后仍有 n u m s 1 [ i ] > n u m s 1 [ n − 1 ] nums1[i] > nums1[n-1] nums1[i]>nums1[n1] n u m s 2 [ i ] > n u m s 2 [ n − 1 ] nums2[i] > nums2[n-1] nums2[i]>nums2[n1],则当前情况无解。

class Solution {
public:int inf = 1e7;int get(vector<int> nums1, vector<int> nums2) {int res = 0;for (int i = 0; i < nums1.size(); i++)if (nums1[i] > nums1.back() || nums2[i] > nums2.back()) {swap(nums1[i], nums2[i]);res++;if (nums1[i] > nums1.back() || nums2[i] > nums2.back())return inf;}return res;}int minOperations(vector<int> &nums1, vector<int> &nums2) {int res = get(nums1, nums2);//不交换 nums1[n - 1] 和 nums2[n - 1]的情况swap(nums1.back(), nums2.back());res = min(res, 1 + get(nums1, nums2));//交换 nums1[n - 1] 和 nums2[n - 1]的情况return res == inf ? -1 : res;}
};

D 找出强数对的最大异或值 II

在这里插入图片描述
在这里插入图片描述

滑动窗口 + 字典树:不妨设 x ≤ y x\le y xy ,则满足 2 × x ≤ y 2\times x\le y 2×xy x x x y y y 可构成强数对,对数组排序后枚举 y y y,同时
用滑动窗口维护满足条件的 x x x ,过程中用字典树维护当前满足条件的 x x x 的集合,同时通过字典树查询与 y y y 构成的强数对的最大异或值

class Trie {//字典树
public:vector<Trie *> next = vector<Trie *>(2, nullptr);int cnt = 0;//子树中的数的数目void insert(int v) {//往字典树中插入vTrie *cur = this;for (int i = 19; i >= 0; i--) {cur->cnt++;//更新计数int t = v >> i & 1;if (!cur->next[t])cur->next[t] = new Trie();cur = cur->next[t];}cur->cnt++;//更新计数}void del(int v) {//删除字典树中的vTrie *cur = this;for (int i = 19; i >= 0; i--) {cur->cnt--;//更新计数int t = v >> i & 1;cur = cur->next[t];}cur->cnt--;//更新计数}int query(int y) {//查询与y构成的强数对的最大异或值int res = 0;Trie *cur = this;for (int i = 19; i >= 0; i--) {int t = y >> i & 1;if (!cur->next[t ^ 1] || cur->next[t ^ 1]->cnt == 0)cur = cur->next[t];else {cur = cur->next[t ^ 1];res |= 1 << i;}}return res;}
};class Solution {
public:int maximumStrongPairXor(vector<int> &nums) {int n = nums.size();sort(nums.begin(), nums.end());Trie trie;int res = 0;for (int iy = 0, ix = 0; iy < n; iy++) {//枚举y (nums[iy])trie.insert(nums[iy]);//插入ywhile (2 * nums[ix] < nums[iy])//更新滑动窗口左端点trie.del(nums[ix++]);//删除无法与y构成强数对的xres = max(res, trie.query(nums[iy]));//查询与y构成的强数对的最大异或值}return res;}
};

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

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

相关文章

在mac上使用jmap -heap命令报错:Attaching to process ID 96530, please wait...

在mac上执行命令jmap -heap 96530 报错&#xff1a; Attaching to process ID 96530, please wait... ERROR: attach: task_for_pid(96530) failed: (os/kern) failure (5) Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Cant attach to the proc…

Unity中Shader的雾效

文章目录 前言一、Unity中的雾效在哪开启二、Unity中不同种类雾的区别1、线性雾2、指数雾1&#xff08;推荐用这个&#xff0c;兼具效果和性能&#xff09;3、指数雾2&#xff08;效果更真实&#xff0c;性能消耗多&#xff09; 三、在我们自己的Shader中实现判断&#xff0c;是…

如何选择共享wifi项目服务商,需要注意哪些?

在移动互联网时代&#xff0c;无线网络已经成为人们生活中不可或缺的一部分。随着5G时代的到来&#xff0c;共享WiFi项目成为了市场上备受关注的焦点。在众多共享WiFi公司中&#xff0c;如何选择共享wifi项目服务商合作&#xff0c;今天我们就来盘点下哪些公司可靠&#xff01;…

mysql主从复制和读写分离

什么叫主从复制&#xff1f; 主从复制架构图和数据流向 主MySQL上的数据、新增、修改库、表、表里的数据。都会同步到从MySQL上 面试题&#xff1a;MySQL的主从复制模式 1、 异步复制&#xff1a;MySQL的默认复制就是异步复制。工作中也一般使用异步复制。只要执行完之后&am…

Halcon WPF 开发学习笔记:HSmartWindowControlWPF正常加载

文章目录 加载问题相关文章彻底解决 加载问题 我们在WPF中使用Halcon的时候&#xff0c;会出现图片被拉伸的问题&#xff0c;需要拖动才可以解决&#xff0c;我网上找了好久&#xff0c;终于找到了如何成功解决这个问题。 相关文章 3.7 Halcon 窗体显示对象消失问题 【halcon】…

【springboot】Failed to start bean ‘webServerStartStop‘;

新同事新建了一个项目springboot项目&#xff0c;启动时候报错。 具体错误如下&#xff1a; Failed to start bean webServerStartStop; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 未能启动bea…

关于淘宝API接口你必须了解的API2.0

据说API从1.0升级到2.0啦&#xff1f;今天我们来聊一聊关于淘宝API接口你必须了解的API2.0 然而 作为新手小白 …… 并不懂API是毛线 好吧 …… 今天 我们就来上一堂小白入门课 几句话聊聊API 高级淘客 请忽略 请批评 请交流 还有请看到最底下 有重磅消息&#xf…

[论文阅读] CLRerNet: Improving Confidence of Lane Detection with LaneIoU

Abstract 车道标记检测是自动驾驶和驾驶辅助系统的重要组成部分。采用基于行的车道表示的现代深度车道检测方法在车道检测基准测试中表现出色。通过初步的Oracle实验&#xff0c;我们首先拆分了车道表示组件&#xff0c;以确定我们方法的方向。我们的研究表明&#xff0c;现有…

SpringBoot Web开发

SpringBoot3-Web开发 SpringBoot的Web开发能力&#xff0c;由SpringMVC提供。 Web开发的三种方式 方式处理过程注意事项实现效果全自动直接编写控制逻辑全部使用自动给配置默认效果手自一体Configuration、 配置WebMvcConfigurer、 配置WebMvcRegistrations不要标注 EnableWeb…

通讯协议学习之路(实践部分):UART开发实践

通讯协议之路主要分为两部分&#xff0c;第一部分从理论上面讲解各类协议的通讯原理以及通讯格式&#xff0c;第二部分从具体运用上讲解各类通讯协议的具体应用方法。 后续文章会同时发表在个人博客(jason1016.club)、CSDN&#xff1b;视频会发布在bilibili(UID:399951374) 本文…

Xmind 24 for Mac思维导图软件

XMind是一款流行的思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 以下是XMind的主要特点&#xff1a; - 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同用户的需求。 - 强大…

中小企业数字化转型进程加速,CRM系统前景如何?

自疫情不断反复之后&#xff0c;中小企业数字化转型进程开始加速。作为当下最热门的企业级应用&#xff0c;CRM客户管理系统的前景还是被看好的。相比于美国企业CRM系统7成的使用率&#xff0c;中国的CRM市场还有很大的发展空间。下面来详细说说&#xff0c;CRM系统的前景如何&…

通信世界扫盲基础二(原理部分)

上次我们刚学习了关于通信4/G的组成和一些通识&#xff0c;今天我们来更深层次了解一些原理以及一些新的基础~ 目录 专业名词 LTE(4G系统) EPC s1 E-UTRAN UE UU X2 eNodeB NR(5G系统) NGC/5GC NG NG-RAN Xn gNodeB N26接口 手机的两种状态 空闲态 连接态 …

Python照片压缩教程:如何轻松减小图片大小

在日常的编程工作中&#xff0c;我们经常需要处理图像&#xff0c;例如上传、下载、显示、编辑等。有时候&#xff0c;我们需要对图像进行压缩&#xff0c;以减少占用的空间和带宽&#xff0c;提高加载速度和用户体验。那么&#xff0c;如何用Python来实现图像压缩呢&#xff1…

C51--PC通过串口(中断)点亮LED

B4中的&#xff1a;REN允许 / 禁止串行接收控制位 REN 1为允许串行接收状态。 接收数据必须开启。所以SCON&#xff1a;0101 0000 &#xff1b;即0x50 如何知道数据已经接收 RI位&#xff1a;当收到数据后 RI 1&#xff08;由硬件置一&#xff09; 硬件置一后必须用软件…

解决npm报错Error: error:0308010C:digital envelope routines::unsupported

解决npm报错Error: error:0308010C:digital envelope routines::unsupported。 解决办法&#xff1b;终端执行以下命令&#xff08;windows&#xff09;&#xff1a; set NODE_OPTIONS--openssl-legacy-provider然后再执行 npm命令成功&#xff1a;

算法——图——bsf 广度优先搜索算法 (Breadth First Search)

图遍历算法——bsf 广度优先搜索算法 &#xff08;Breadth First Search&#xff09; 算法 概述算法过程步骤一&#xff1a;初始化原点到队列步骤二&#xff1a;将队列的头顶点放入到已完成集合步骤三&#xff1a;将订单的关联顶点放入到队列中步骤四&#xff1a;将u顶点设置为…

【正点原子STM32连载】 第五十章 FATFS实验 摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第五…

【JAVA学习笔记】69 - 多用户通信系统

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/QQClient https://github.com/yinhai1114/Java_Learning_Code/tree/main/QQServer 〇、环境设置以及前言 该项目内会弱化UI界面的设计&#xff0c;因为JAVA本质不是用来开发界面的。 项目开发流程 对于…

汽车标定技术(九)--标定常量与#pragma的趣事

目录 1. 不添加#pragma语句 2. 添加#pragma语句 3. 标定量只给flash空间&#xff0c;不给ram指定空间 4. 总结 在之前不会使用overlay机制的时候&#xff0c;我们想要做汽车标定&#xff0c;标定常量编译出来的地址一般都应该是ram的地址&#xff0c;而且在链接文件中都会指…