草庐IT

leetcode题解

全部标签

【C++题解】[CSP-J2020]优秀的拆分

PartPartPart111读题题目描述一般来说,一个正整数可以拆分成若干个正整数的和。例如:1=11=11=1,10=1+2+3+410=1+2+3+410=1+2+3+4等。对于正整数nnn的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,nnn被分解为了若干个不同的222的正整数次幂。注意,一个数nnn能被表示成222的正整数次幂,当且仅当nnn能通过正整数个222相乘在一起得到。例如:10=8+2=23+2110=8+2=2^3+2^110=8+2=23+21是一个优秀的拆分。但是,7=4+2+1=22+21+207=4+2+1=2^2+2^1+2^07=4+2+1=22+

(滑动窗口) 76. 最小覆盖子串 ——【Leetcode每日一题】

❓76.最小覆盖子串难度:困难给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。注意:对于t中重复字符,我们寻找的子字符串中该字符数量必须不少于t中该字符数量。如果s中存在这样的子串,我们保证它是唯一的答案。示例1:输入:s=“ADOBECODEBANC”,t=“ABC”输出:“BANC”解释:最小覆盖子串“BANC”包含来自字符串t的‘A’、‘B’和‘C’。示例2:输入:s=“a”,t=“a”输出:“a”解释:整个字符串s是最小覆盖子串。示例3:输入:s=“a”,t=“aa”输出:“”解释:t中两个字符‘a’均应包含在s

LeetCode-169. 多数元素(C语言)

目录捏一、题目描述二、示例与提示三、思路四、代码一、题目描述给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数大于⌊n/2⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。二、示例与提示示例1:输入:nums=[3,2,3]输出:3示例2:输入:nums=[2,2,1,1,1,2,2]输出:2提示n==nums.length11进阶:尝试设计时间复杂度为O(n)、空间复杂度为O(1)的算法解决此问题。三、思路拿到本题首先想到的是使用哈希思想,新建立一个数组arr,将nums数组中的各元素映射到arr中,最终返回arr数组中值最小的元素下标。后来发现

2022icpc西安站部分题解-E

E.FindMaximum题意:给定边界L和R,算满足的所有的的最大值,其中满足:。题解:打表发现发现了f(x)与x的三进制有关系,即f(x)等于x三进制的每个数相加,再加上三进制数的有效位数。下图从左向右依次是x,x的三进制,f(x)。于是便是将问题转变为在区间中找到三进制的每个数相加再加上三进制数的有效位数最大的值。 首先分类讨论:1.如果L的三进制长度小于R的三进制长度,那么答案可能是22...2(R的三进制长度减一个2),或者在100...0(R的三进制长度减一个0)-R之间选择最大值;2.如果L的三进制长度等于R的三进制长度,那么答案在L-R之间选择最大值。代码如下:#pragmaG

2022 年辽宁省大学生程序设计竞赛 个人题解

title:2022年辽宁省大学生程序设计竞赛date:2022-10-25tags:ACM,练习记录author:Linno2022年辽宁省大学生程序设计竞赛题目链接:https://ac.nowcoder.com/acm/contest/43937进度:10/13质量比较差的场,后三题是错的,D题spj也是错的,其他nt题也多。文章目录2022年辽宁省大学生程序设计竞赛A-伟大奋斗B-可莉的五子棋C-消除死域点D-七圣召唤E-病毒危机F-互质G-栈与公约数I-图的分割K-俄罗斯方块M-画画A-伟大奋斗#includeusingnamespacestd;signedmain(){ intn;

【LeetCode力扣】189 53 轮转数组 | 最大子数组和

目录1、189.轮转数组1.1、题目介绍1.2、解题思路2、53.最大子数组和2.1、题目介绍2.2、解题思路 1、189.轮转数组1.1、题目介绍原题链接:189.轮转数组-力扣(LeetCode)​示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例 2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-100]解释: 向右轮转1步:[99,-1,-100,3]向右轮转2步:[

leetcode:2441. 与对应负数同时存在的最大正整数(python3解法)

难度:简单给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 。返回正整数 k ,如果不存在这样的整数,返回 -1 。示例1:输入:nums=[-1,2,-3,3]输出:3解释:3是数组中唯一一个满足题目要求的k。示例2:输入:nums=[-1,10,6,7,-7,1]输出:7解释:数组中存在1和7对应的负数,7的值更大。示例3:输入:nums=[-10,8,6,7,-2,-3]输出:-1解释:不存在满足题目要求的k,返回-1。提示:1-1000nums[i]!=0题解:classSolution:deffindMaxK(self,nums:Li

Leetcode:【189. 轮转数组】

题目给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数难度:中等题目链接:189.轮转数组示例1:输入:nums=[1,2,3,4,5,6,7],k=3输出:[5,6,7,1,2,3,4]解释:向右轮转1步:[7,1,2,3,4,5,6]向右轮转2步:[6,7,1,2,3,4,5]向右轮转3步:[5,6,7,1,2,3,4]示例 2:输入:nums=[-1,-100,3,99],k=2输出:[3,99,-1,-100]解释:向右轮转1步:[99,-1,-100,3]向右轮转2步:[3,99,-1,-100]提示:1-2^310代码展示voidreverse_nu

【LeetCode-中等题】73. 矩阵置零

题目题解一:使用标记数组publicvoidsetZeroes(int[][]matrix){intm=matrix.length;intn=matrix[0].length;boolean[]row=newboolean[m];boolean[]col=newboolean[n];for(inti=0;im;i++){for(intj=0;jn;j++){if(matrix[i][j]==0)row[i]=col[j]=true;//将这一行和这一列的数据设为true}}for(inti=0;im;i++){for(intj=0;jn;j++){if(row[i]||col[j]){//若行

【JavaScript】leetcode链表相关题解

【JavaScript】leetcode链表相关题解一、什么是链表?二、Javascript中的链表三、leetcode相关链表2.两数相加237.删除链表中的节点206.反转链表💎个人主页:阿选不出来💎个人简介:大三学生,热爱Web前端,随机掉落学习碎片💎目前开发的专栏:JS🍭Vue🍭React🍭💎祝愿今天的你比昨天更加博识了!一、什么是链表?链表的官方定义:链表是一种物理存储单位上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。看到这里,相信你肯定一知半解。没关系,接下来我们将链表与我们熟悉的数组进行一个对比,就好理解多了!存储数据方面:数组:使用一块连续的内