Leetcode---372周赛

题目列表

2937. 使三个字符串相等

2938. 区分黑球与白球

2939. 最大异或乘积

2940. 找到 Alice 和 Bob 可以相遇的建筑

一、使三个字符串相等

这题把题目意思读懂,正常模拟就行,简单来说就是看三个字符串的最长公共前缀有多长,

代码如下

class Solution {
public:int findMinimumOperations(string s1, string s2, string s3) {int n1=s1.size(),n2=s2.size(),n3=s3.size();int mn=min(n1,min(n2,n3));int i;for(i=0;i<mn;i++){if(s1[i]!=s2[i]||s1[i]!=s3[i]||s2[i]!=s3[i])break;}if(i==0) return -1;else return n1+n2+n3-3*i;}
};

二、区分黑球和白球

这题其实可以根据所给的示例,手玩一下,你就会发现最短的步数就是将黑球按照顺序从左往右依次排好需要的步数,

可能有人不太理解,我简单解释一下:假设有两个黑球分别在下标x、y (x<y)【下面用下标代替黑球】,按照我们的思路,把x放到0,y放到1,共有x-0+y-1步,如果我们把y放到0,x放到1,则会有y-0+(x+1-1)  【因为x在y前面,要想将y放到0,则x会被迫往后移动一位,所以需要多往前走一步】,其他情况同理,所以按照原本的顺序排列黑球的步数最少

代码如下

class Solution {
public:long long minimumSteps(string s) {long long ans=0;for(int i=0,j=0;i<s.size();i++){//j表示下一个黑球应该在的位置if(s[i]=='0'){ans+=i-j;//黑球移到对应位置需要的步数j++;}}return ans;}
};

三、最大异或乘积

这题跟位运算有关系,异或运算,相同为0,相异为1,思路如下

代码如下 

//法1:时间复杂度O(n)
class Solution {
public:const int MOD=1e9+7;int maximumXorProduct(long long a, long long b, int n) {long long ax=(a>>n)<<n,bx=(b>>n)<<n;for(int i=n-1;i>=0;i--){if(((a>>i)&1) == ((b>>i)&1)){//说明a和b的比特位相等ax^=(1LL<<i);bx^=(1LL<<i);}else if(ax>bx){//说明a和b的比特位不相等,且ax>bxbx^=(1LL<<i);}else{ax^=(1LL<<i);}}return (ax%MOD)*(bx%MOD)%MOD;}
};//法2:时间复杂度O(1)
class Solution {
public:const int MOD=1e9+7;int maximumXorProduct(long long a, long long b, int n) {if(a<b) swap(a,b);long long mask=(1LL<<n)-1;long long ax=a&(~mask),bx=b&(~mask);long long diff=(a^b)&mask;//diff二进制为1表示可以分配给a或b的1long long one=diff^mask;//将diff中的二进制为0的位置变成1ax|=one;bx|=one;if(diff>0&&ax==bx){long long high_bit=1LL<<(63-__builtin_clzll(diff));ax|=high_bit;diff^=high_bit;}bx|=diff;return (ax % MOD) * (bx % MOD) % MOD;}
};

四、找到Alice和Bob可以相遇的建筑

这个题目的题意就是要求我们找每次查询的两个位置(L,R)的右边有没有比他们都高的建筑,当然如果height[R]>height[L],那么直接返回R即可,如果L==R,直接返回当前位置,所以我们只要求当height[L]>height[R]时,右边高于heighs[L]的位置即可

class Solution {
public:vector<int> leftmostBuildingQueries(vector<int>& heights, vector<vector<int>>& queries) {int n=heights.size(),m=queries.size();vector<int>ans(m,-1);vector<vector<pair<int,int>>>left(n);//等待被查询的位置for(int i=0;i<m;i++){int l=queries[i][0],r=queries[i][1];if(l>r) swap(l,r);if(l==r||heights[r]>heights[l]){ans[i]=r;continue;}left[r].push_back({-heights[l],i});}priority_queue<pair<int,int>>q;for(int i=0;i<n;i++){while(q.size()&&-q.top().first<heights[i]){ans[q.top().second]=i;q.pop();}for(auto e:left[i]){q.push(e);}}return ans;}
};

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

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

相关文章

操作系统:操作系统教程第六版(骆斌、葛季栋、费翔林)习题二处理器管理

目录 前言1. 简答题2. 应用题 前言 本系列文章是针对操作系统教程第六版&#xff08;骆斌、葛季栋、费翔林&#xff09;的习题解答&#xff0c;其中简答题部分为博主自己搜索整理的&#xff0c;错漏之处在所难免。应用题部分有答案为依据。 1. 简答题 &#xff08;1&#xf…

数据查询,让表单之间“联动”起来!丨三叠云

数据查询 路径 表单设计 >> 字段属性 功能简介 「数据查询」增加触发「数据联动」功能。本次对「数据查询」字段的功能进行优化&#xff0c;这次升级包含「编辑关联数据」、「导入数据」「拷贝数据」&#xff0c;以提高数据操作时的便利。 适用场景&#xff1a; 销…

[数据结构]-红黑树

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、红黑树的…

英文文献阅读工具和经验分享

在搞学术的时候需要阅读大量的英文论文或者是英文原著&#xff0c;我也一直在摸索如何方便高效的阅读。本篇仅为个人经验之谈&#xff0c;大家还是要找到合适自己的方式。 方法一&#xff1a;deepLGoodNotes 优点&#xff1a; 可以各种划线标注、手写笔记&#xff0c;加入图片…

实现医生排班系统

实现医生排班系统时&#xff0c;你可以使用多种Java技术和框架&#xff0c;具体选择取决于你的需求和团队的熟悉程度。以下是一些可能用到的Java技术和框架&#xff1a; Spring Boot&#xff1a; 描述&#xff1a; Spring Boot是一个简化了Spring应用开发的框架&#xff0c;提供…

github上不去

想要网上找代码发现github上不去了 发现之前的fastgit也用不了了 搜了很多地方终于找到了 记录保存一下 fastgithub最新下载 选择第二个下载解压就行 使用成功&#xff01;

【C】内存函数

目录 1. memcpy 使用和模拟实现 2. memmove 使⽤和模拟实现 3. memset 函数的使用 4. memcmp 函数的使用 1. memcpy 使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到d…

BUUCTF [HBNIS2018]caesar 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 得到的 flag 请包上 flag{} 提交。来源&#xff1a;https://github.com/hebtuerror404/CTF_competition_warehouse_2018 密文&#xff1a; 下载附件&#xff0c;得到一个.txt文件。 解题思路&#xff1a; 1、用浏览…

HIVE SQL时间函数

目录 current_timestamp()获取当前时间unix_timestamp()获取当前时区的UNIX时间戳from_unixtime()时间戳转日期函数unix_timestamp(string date)日期转时间戳函数提取日期中的年月日时分秒weekofyear (string date)日期转周函数日期比较函数datediff(string enddate, string st…

springsecurity6配置二

一、springsecurity6自定义认证异常处理器 1.1 AuthenticationEntryPointImpl.java package com.school.information.core.security.handler;import com.alibaba.fastjson.JSON; import com.school.information.enums.result.ResultStatusEnum; import com.school.informatio…

Android Gradle 升级到7.x及Maven推送问题

7.0以下的Android插件工程使用Maven上传时脚本如下所示。 plugins {id com.android.libraryid kotlin-androidid maven }// 源代码一起打包 task androidSourcesJar(type: Jar) {archiveClassifier.set(sources)from android.sourceSets.main.java.sourceFiles }uploadArchive…

pop链反序列化 [MRCTF2020]Ezpop1

打开题目 网站源码为 Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95 //And Crack It! class Modifier {protected …

楚辞·莫欺少年穷

【楚辞莫欺少年穷】 作家&#xff0f;罗光记 藐彼世俗兮&#xff0c;纷纷无常&#xff0c; 然我少年兮&#xff0c;如日初阳。 年虽未盛&#xff0c;志气壮兮&#xff0c;凌云壮志怀瑾瑜。 白驹过隙兮&#xff0c;光阴如梭&#xff0c; 不屈于穷兮&#xff0c;勇往直前。 犹若…

【MATLAB源码-第89期】基于matlab的灰狼优化算法(GWO)无人机三维路径规划,输出做短路径图和适应度曲线

操作环境&#xff1a; MATLAB 2022a 1、算法描述 灰狼优化算法&#xff08;Grey Wolf Optimizer, GWO&#xff09;是一种模仿灰狼捕食行为的优化算法。灰狼是群居动物&#xff0c;有着严格的社会等级结构。在灰狼群体中&#xff0c;通常有三个等级&#xff1a;首领&#xff…

什么是判断能力?如何提高判断能力?

什么是判断能力&#xff1f; 人的大脑跟电脑有有着相似的工作原理&#xff0c;不论什么事情&#xff0c;如果要做出判断&#xff0c;那么首先是收集各类信息&#xff0c;跟这个事件相关的各种资料&#xff0c;仅供大脑的分析后&#xff0c;得出一个结论&#xff0c;从而形成判…

LeetCode 1457. 二叉树中的伪回文路径:深度优先搜索(DFS) + 位运算优化

【LetMeFly】1457.二叉树中的伪回文路径&#xff1a;深度优先搜索(DFS) 位运算优化 力扣题目链接&#xff1a;https://leetcode.cn/problems/pseudo-palindromic-paths-in-a-binary-tree/ 给你一棵二叉树&#xff0c;每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「…

福州大学《嵌入式系统综合设计》实验七:图像灰度直方图

一、实验目的 直方图是一种统计特征&#xff0c;在图像中广为使用&#xff0c;因为具有计算简便、不受平移、旋转的影响&#xff0c;因此可以作为图像的一种有效的局部/全局特征来表示图像&#xff0c;是图像的重要特征之一。直方图在SIFT算法、HOG算法、直方图均衡等图像特征…

Ubuntu Linux配置方法

1. 查看防火墙状态 进入root权限 ufw status verbose 状态&#xff1a;不活动 2.先把ssh的权限打开 这么做的目的是防止把自己关在外面了&#xff0c;如果你是其他端口&#xff0c;记得把22换成你实际的ssh端口好。 ufw allow 22 防火墙规则已更新 规则已更新(v6) 3.打开…

重庆数字孪生技术推进制造业升级,工业物联网可视化应用加速

重庆数字孪生、5G、人工智能、物联网、大数据等新一代信息技术的出现及终端计算设备的发展&#xff0c;带来了研发模式、生产模式、消费模式、体制机制的系统性变革&#xff0c;企业应该建设适应工业4.0时代发展要求的新型生产体系。巨蟹数科数字孪生智能工厂通过部署多样化用例…

Spring cloud - Feign

Feign的作用 Feign是Netflix公司开发的声明式web客户端组件&#xff0c;Spring对Feign做了无缝集成&#xff1a; Feign is a declarative web service client. It makes writing web service clients easier. To use Feign create an interface and annotate it. It has plugg…