![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
题解
MogulNemenis
这个作者很懒,什么都没留下…
展开
-
分割链表题解
只需要遍历链表模拟即可,将不同条件的值存放在不同的链表中,最后将两个链表相连即可。原创 2024-01-29 20:33:18 · 207 阅读 · 0 评论 -
旋转链表题解
将链表首位相连,然后根据题目给出的条件,只需要头指针向后移动链表的长度-k%链表长度个位置,再断开链接即可。原创 2024-01-29 20:14:54 · 210 阅读 · 0 评论 -
整数转罗马数字-----题解报告
直接按照题目模拟过程即可。原创 2023-10-27 08:30:43 · 124 阅读 · 0 评论 -
罗马数字转整数------题解报告
很简单,感觉没什么可以讲的,就是按照题目要求做判断就好了。原创 2023-10-26 13:47:21 · 105 阅读 · 0 评论 -
除自身以外数组的乘积----题解
当前数的数组乘积=该数左边所有数乘积*该数右边所有数乘积。原创 2023-10-24 11:25:26 · 77 阅读 · 0 评论 -
H指数----题解报告
首先先对引用次数排序,然后再寻找在规定内的最大H值。由题目可知,我们要寻找的是一个最大的H值。原创 2023-10-23 15:28:59 · 88 阅读 · 0 评论 -
跳跃游戏Ⅱ-----题解报告
第一次跳跃时,最远跳到下标为2的位置,那么在2,3,1之间寻找能够跳跃的最远距离,不断更新,更新为4。与Ⅰ不同的是,这次要求找出最小的跳跃次数。思路也很简单,在每一次跳跃之后都更新最远的跳跃距离。第二次跳跃即从下标为1的位置开始跳跃,直接跳到终点终点。输入:2,3,1,1,4。原创 2023-10-22 18:55:53 · 300 阅读 · 0 评论 -
跳跃游戏----题解报告
其实就直接挨着跳就行了,循环中不断更新k,不停比较k和当前位置跳跃的最大值即可。原创 2023-10-21 16:11:11 · 241 阅读 · 0 评论 -
买股票的最佳时机Ⅲ------题解报告
我们来仔细分析一下题目,其实我们就是要寻找多个[l,r]的区间,让这些区间的prices[r]-prices[l]相加为最大值。但实际上,我们更具买股票的最佳时机Ⅰ可以很轻易的得知实际过程应该是第一天买进,最后一天卖出sum=5-1=4;那么对于每一个我们要寻找的区间的prices[r]-prices[l]来说,就等于相邻元素之差之和。根据我们上面的式子来说sum=2-1+3-2+4-3+5-4=4;我们创建一个dp的二维数组,用0表示手持现金,1表示手持股票。输入:1,2,3,4,5。原创 2023-10-20 13:46:13 · 70 阅读 · 0 评论 -
最佳买股票的时机------题解报告
时间复杂度为O(n),空间复杂度为O(1)写完之后看了一眼题解,发现没有更好的方法。一次循环,不断更新min和sum值。暴力双循环会时间超限。原创 2023-10-19 16:57:33 · 73 阅读 · 0 评论 -
轮转数组------题解报告
直接再创建一个数组,然后对应位置替换,最后把值赋给原来的nums数组。但是这种方法空间复杂度有些高了,只能说是大家都能想到的办法,还有没有更好的办法?输入:7 6 5 4 3 2 1(翻转后)输出:5 6 7 1 2 3 4。当然有,那就是翻转数组,首先我们来观察一下样例。输入:7 6 5 4 3 2 1(翻转后)输入:1 2 3 4 5 6 7。输出:5 6 7 1 2 3 4。输出:5 6 7 1 2 3 4。此时空间复杂度为O(1)原创 2023-10-19 14:32:41 · 59 阅读 · 0 评论 -
多数元素-----题解报告
这一题仔细阅读题目意思就会发现,主要就是找众数,并且题目中明确告知,给出的数组中必然有出现次数超过n/2的元素。那么我们就只要在遍历数组的时候,判断当前key值之和sum是否为0,为0则更新总数x;那就很简单了,有一个很偷懒的方法,对数组进行排序,那么第n/2个元素必然是众数。但是,有没有更快的方法?当然有,接下来就是本篇题解的重点------摩尔投票。不为0则判断当前元素和x是否相等,相等则sum++,反之则sum--;这个算法很好理解,首先我们要明确两个推论。数组遍历结束之和,返回x即可。原创 2023-10-18 08:48:24 · 61 阅读 · 0 评论 -
删除有序数组中的重复项Ⅱ--------题解报告
与Ⅰ不同的是这次题目要求,使得出现次数超过两次的元素只出现两次,所以我用了一个比较粗糙的双指针。同时使用变量r当作返回的数组长度,并且可以当作判断是否超出循环范围的依据,防止死循环。变量k去计数,作为判断是否要删除元素的依据;原创 2023-10-17 11:19:48 · 74 阅读 · 0 评论 -
删除有序数组的重复项-------题解报告
个人的想法比较粗糙,因为是递增数组,所以如果有相同的数组,必然相邻,所以只需要判断相邻元素是否相等,相等则将数组从相等处整体前移,同时让r--,当i>=r-1时,就说判断结束的时刻。如果相等,q 后移 1 位 如果不相等,将 q 位置的元素复制到 p+1 位置上,p 后移一位,q 后移 1 位 重复上述过程,直到 q 等于数组长度。首先让指针p都处在数组开头,q在p前面,然后让q++,再判断nums[p]和nums[q]是否相等,写完之后看了大佬的题解,发现用双指针,这题会更简单。原创 2023-10-16 22:00:11 · 86 阅读 · 0 评论 -
CF18B Platforms--题解报告
题目题目描述In one one-dimensional world there arennplatforms. Platform with indexkk(platforms are numbered from 1) is a segment with coordinates[(k-1)m,(k-1)m+l][(k−1)m,(k−1)m+l], andl<ml<m. Grasshopper Bob starts to jump along the platforms f...原创 2022-01-17 22:32:00 · 372 阅读 · 0 评论 -
CF12B Correct Solution?题解报告
题目题目描述One cold winter evening Alice and her older brother Bob was sitting at home near the fireplace and giving each other interesting problems to solve. When it was Alice's turn, she told the numbernnto Bob and said:—Shuffle the digits in this num..原创 2022-01-17 22:23:22 · 360 阅读 · 0 评论 -
迷宫(题解报告)
题目题目背景给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。题目描述无输入格式第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。输出格式给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。输入输原创 2022-01-15 20:59:26 · 636 阅读 · 0 评论 -
自然数的拆分问题
题目题目描述任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。现在给你一个自然数n,要求你求出n的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。输入格式输入:待拆分的自然数n。输出格式输出:若干数的加法式子。输入输出样例输入 #1复制7输出 #1复制1+1+1+1+1+1+11+1+1+1+1+21+1+1+1+31+1+1+2+21+1+1+41+1+2+31+1原创 2022-01-15 20:53:01 · 527 阅读 · 0 评论 -
求先序排列&&美国血统---题解报告
题目1题目描述农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。你的任务是在被给予奶牛家谱的“树中序遍历”和“树前序遍历”的符号后,创建奶牛家谱的“树的 后序遍历”的符号。每一头奶牛的姓名被译为一个唯一的字母。(你可能已经知道你可以在知道树的两 种遍历以后可以经常地重建这棵树。)显然,这里的树不会有多于 26 个的顶点。 这是在样例输入和 样例输出中原创 2022-01-20 16:26:01 · 73 阅读 · 0 评论 -
CF1416B Make Them Equal--题解报告
题目题目描述You are given an arrayaaconsisting ofnnpositive integers, numbered from11tonn. You can perform the following operation no more than3n3ntimes:choose three integersii,jjandxx(1 \le i, j \le n1≤i,j≤n;0 \le x \le 10^90≤x≤109); ...原创 2022-01-24 23:29:01 · 248 阅读 · 0 评论 -
P1229 遍历问题--题解报告
题目题目描述我们都很熟悉二叉树的前序、中序、后序遍历,在数据结构中常提出这样的问题:已知一棵二叉树的前序和中序遍历,求它的后序遍历,相应的,已知一棵二叉树的后序遍历和中序遍历序列你也能求出它的前序遍历。然而给定一棵二叉树的前序和后序遍历,你却不能确定其中序遍历序列,考虑如下图中的几棵二叉树:所有这些二叉树都有着相同的前序遍历和后序遍历,但中序遍历却不相同。输入格式输A数据共两行,第一行表示该二叉树的前序遍历结果s1,第二行表示该二叉树的后序遍历结果s2。输出格式输出可能的中序原创 2022-01-23 19:28:54 · 69 阅读 · 0 评论 -
P4913 【深基16.例3】二叉树深度--题解报告
题目题目描述给出每个节点的两个儿子节点,建立一棵二叉树(根节点为 11),如果是叶子节点,则输入0 0。建好树后希望知道这棵二叉树的深度。二叉树的深度是指从根节点到叶子结点时,最多经过了几层。最多有 10^6106 个结点。输入格式无输出格式无输入输出样例输入 #1复制72 73 64 50 00 00 00 0输出 #1复制4解题思路二叉树深度就是从根结点到叶结点最多的层数,直接分别遍历左结点,和右结点,找出最大层数就行了代码展原创 2022-01-23 18:56:54 · 386 阅读 · 0 评论 -
CF922A Cloning Toys--题解报告
题目题目描述Imp非常喜欢他的毛绒玩具。最近,他发现了一个可以克隆毛绒玩具的机器。Imp知道如果他将一个玩具本体进行克隆,他将会得到两个本体(新增一个)和一个克隆体;而如果将一个克隆体进行克隆,他将会得到三个克隆体(新增两个)。一开始,Imp只有一个毛绒玩具本体。他想要知道他能否使用这个机器得到恰好xx个克隆体和yy个本体。他不能把玩具扔掉,也不能在没有克隆体的时候对一个克隆体进行克隆。 输入格式一行两个整数x,y(0 \le x,y \le 10^9)x,y(0≤x,y≤109..原创 2022-01-23 22:21:32 · 162 阅读 · 0 评论 -
新二叉树--题解报告
题目题目描述输入一串二叉树,输出其前序遍历。输入格式第一行为二叉树的节点数 nn。(1 \leq n \leq 261≤n≤26)后面 nn 行,每一个字母为节点,后两个字母分别为其左右儿子。空节点用 * 表示输出格式二叉树的前序遍历。输入输出样例输入 #1复制6abcbdicj*d**i**j**输出 #1复制abdicj解题思路打印先序遍历,即根 左 右 ,直接找根结点,然后左右遍历就完了代码展示#include<原创 2022-01-20 16:34:15 · 392 阅读 · 0 评论 -
P7939 [B1] Alice Wins (easy version)--题解报告
题目题目描述The difference between the versions is the limit of operations.Alice is a cute girl who has a lot of dolls.There are4\cdot n4⋅ndolls playingrock-paper-scissors. They are divided into two teams: Team A and Team B. Each team contains2\cdot ...原创 2022-01-24 23:39:42 · 132 阅读 · 0 评论 -
P7938 [A] Beautiful Array--题解报告
题目题目描述In this problem, we define a sequence of(and)as a "bracket sequence".The definition ofRegular Bracket Sequenceis as follows:()is a Regular Bracket Sequence. IfAis a Regular Bracket Sequence, then(A)is also a Regular Bracket Sequen...原创 2022-01-24 23:35:33 · 193 阅读 · 0 评论 -
P2078 朋友--题解报告
题目题目背景小明在 A 公司工作,小红在 B 公司工作。题目描述这两个公司的员工有一个特点:一个公司的员工都是同性。A 公司有NN名员工,其中有PP对朋友关系。B 公司有MM名员工,其中有QQ对朋友关系。朋友的朋友一定还是朋友。每对朋友关系用两个整数(X_i,Y_i)(Xi,Yi)组成,表示朋友的编号分别为X_i,Y_iXi,Yi。男人的编号是正数,女人的编号是负数。小明的编号是11,小红的编号是-1−1。大家都知道,小明和小红是朋友,那么,请你...原创 2022-01-23 19:15:57 · 118 阅读 · 0 评论 -
CF30B Codeforces World Finals--题解报告
题目题目描述The king Copa often has been reported about the Codeforces site, which is rapidly getting more and more popular among the brightest minds of the humanity, who are using it for training and competing. Recently Copa understood that to conquer the w原创 2022-01-19 00:08:29 · 102 阅读 · 0 评论 -
亲戚---题解报告
题目题目背景若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系。题目描述规定:xx和yy是亲戚,yy和zz是亲戚,那么xx和zz也是亲戚。如果xx,yy是亲戚,那么xx的亲戚都是yy的亲戚,yy的亲戚也都是xx的亲戚。输入格式第一行:三个整数n,m,pn,m,p,(n,m,p \le 5000n,m,p≤5000),分别表示有nn个人,mm个亲戚关系,询问pp对亲戚...原创 2022-01-20 20:14:32 · 337 阅读 · 0 评论 -
奖励最顶尖的k位学生------题解
题解:使用Set集合存储正面和负面反馈,加快查找速率。首先先分割字符串,然后查找是否包含对应的正负面反馈,然后算出得分,最后对map集合排序,找出前k名顶尖学生。原创 2023-10-11 16:55:34 · 54 阅读 · 0 评论 -
只出现一次的数字Ⅲ题解
题解:与只出现一次的数字Ⅱ没什么区别,只不过返回的变成了数组。原创 2023-10-16 16:49:17 · 70 阅读 · 0 评论 -
移除元素题解
题解:这题重点在于思绪变通,用变量l去找数组的长度。for循环遍历nums数组,当nums[i]不为val时,将nums[i]放在l之前的数组中,确保l前的数组中不存在val。原创 2023-10-16 17:01:18 · 68 阅读 · 0 评论 -
移动机器人
题解:由于机器人之间没有任何差别,所以相撞之后两个机器人改变方向,可以看成穿透,即相撞不会对机器人运动产生影。原创 2023-10-10 18:55:21 · 53 阅读 · 0 评论 -
暴力枚举题单--题解报告
题目一统计方形(数据加强版) - 洛谷解题思路关键在于得出公式 (n-i)*(m-j)代码展示#include<stdio.h>long long n,m,i,j;long long sum,num;int main(){ scanf("%lld %lld",&n,&m); for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(i=原创 2022-03-19 10:57:20 · 598 阅读 · 0 评论 -
后缀表达式--题解报告
题目后缀表达式 - 洛谷解题思路后缀表达式,就是没有括号,运算符号放在两个运算对象之后,所有计算按运算符号出现的顺序,严格地由左而右新进行(不用考虑运算符的优先级)。例如3+4的后缀表达式是34+。这里很适合用栈来做。以示例来说明:3.5.2.-*7.+@首先将数字入栈,当遇到‘-’时,将5和2出栈,计算5-2=3;遇到‘*’时,计算3*3-9;再将7入栈,遇到‘+’时,计算9+7=16.要注意,直到遇到'.'数字才可以入栈,我好几次就因为这个//错误的代码if(a&g原创 2022-03-17 22:08:59 · 491 阅读 · 0 评论 -
拼数---题解报告
题目[NOIP1998 提高组] 拼数 - 洛谷解题思路每次写题,涉及到字符串,我就想感叹一次c++对写字符串的题目简直太友好了。这题只需要修改一下排序的条件,判断一下两个谁在前面让字符串更大,小的时候就交换代码展示#include<bits/stdc++.h>using namespace std;int n;string str[30];bool cmp(string a,string b)//这是重点{ return a+b>b+a;}原创 2022-03-07 20:20:38 · 518 阅读 · 0 评论 -
采草药---题解报告
题目疯狂的采药 - 洛谷解题思路完全背包问题,和之前做的题目不一样的就是,每个草药可以无限采。代码展示#include<bits/stdc++.h>using namespace std;long long n,m;long long t[1000001],v[100001],dp[10000001];//数组一定要开到足够大int main(){ scanf("%lld %lld",&n,&m); for(int i=1;i<原创 2022-03-07 20:26:28 · 394 阅读 · 0 评论 -
只出现一次的数字Ⅱ
题解:对数组进行排序,排序后循环判断当前子元素与前后子元素是否相等,不相等即为只出现一次的数字。原创 2023-10-15 14:55:01 · 90 阅读 · 0 评论