![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
蓝桥杯
文章平均质量分 61
Shallow_Carl
Never Give Up!
展开
-
二叉搜索树的删除
题目描述给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。示例 1:输入:root = [5,3,6,2,4,null,7], key = 3输出:[5,4,6,2,null,null,7]解释:给定需要删除的节点值是 3,所以我们首先找到 3 这个节点,然后删除它。一个正确的答案...原创 2021-12-27 16:20:35 · 858 阅读 · 0 评论 -
LeetCode43字符串相乘
目录题目描述思路:普通竖式优化竖式优化代码题目描述思路:一开始我想要使用atoi()和to_string()两个函数(分别来自cstdlib和sstream库),但是最后的结果超过了long的限制.所以我就没法了,想着,硬着头皮模拟一遍好了.普通竖式思路比较简单,我们写两个函数.一个函数负责返回两个string相加的结果,另一个函数负责模拟每一行相乘的结果.先算出相乘的结果,再拿结果和之前算出的res进行字符串相加函数操作.中间有一些细节问题要注意:...原创 2021-11-30 12:35:18 · 892 阅读 · 0 评论 -
字符串相加LeetCode187
目录题目描述:思路代码题目描述:415. 字符串相加难度简单472给定两个字符串形式的非负整数num1和num2,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如BigInteger),也不能直接将输入的字符串转换为整数形式。示例 1:输入:num1 = "11", num2 = "123"输出:"134"示例 2:输入:num1 = "456", num2 = "77"输出:"533"示例 3...原创 2021-11-28 11:19:22 · 388 阅读 · 0 评论 -
LeetCode142环形链表二
题目描述:142. 环形链表 II难度中等1266给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。如果pos是-1,则在该链表中没有环。注意:pos不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改链表。示例 1:输入:head = [...原创 2021-11-28 10:33:03 · 79 阅读 · 0 评论 -
DFS深度优先搜索模板
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言DFS是一种搜索可行解方式的方式,通常用于求"所有,全部..等一类问题",今天在写深度搜索问题时问题屡屡出现,搞得我怀疑自己以前学的到底有菜鸡......特此写下一篇手记,供大家参考,也供自己日后复习.一、DFS的例题形式?这里贴出最经典的一类问题,下面给出两道LeetCode原题:①给你一个由'1'.原创 2021-11-26 16:17:45 · 172 阅读 · 0 评论 -
和为K的子数组LeetCode560
目录题目描述思路思路一--滑动窗口思路二--暴力求解思路三--前缀和+hash优化补充题目描述思路思路一--滑动窗口本来看到题目想着,我的天啊,这不是可以用滑动窗口完美解决吗?直到我看到数据可以为负数,我才开始意识到问题的严重性,最后想着使用动态规划,但是推导了半天硬是推导不出来表达式,无奈选择了暴力求解...思路二--暴力求解思路还是滑动窗口,但是这回遍历时右指针right一直要从左往右遍历到尽头才行,结果也不用说了,超时.........原创 2021-11-23 19:54:30 · 250 阅读 · 0 评论 -
LeetCode334递增的三元子序列,贪心+双指针
目录题目描述:思路代码题目描述:思路很自然能够想到使用两个数值来记录最小值和次小值,并且有一个前提--次小值>最小值,那么我们在后面的遍历过程中只要找到一个值大于次小值,结果返回true,如果遍历整个数组都没有找到,结果返回false.我们假设最小值small,次小值mid但是我们对于最小值和次小值的更新策略是什么呢?比如:small>=nums[i],我们就能够直接更新small呢???关键在这里---因为nums<=small,所以更新后得.原创 2021-11-23 11:39:13 · 393 阅读 · 0 评论 -
搜索二维数组LettCode240
题目地址:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/思路一遍遍历在这里出现了很有趣的现象:我们都知道根据程序局部性原理来讲,按照先行再列的遍历速度肯定是要比先列后行的遍历顺序的速度要快得多的.那么我们如何书写才能在最快时间内遍历二维数组呢?使用下标访问吗?还是使用迭代器来访问?或者应该怎么写?但是标答中给出的遍历方式吸引了我的注意.....操作class Solution {public: ...原创 2021-11-22 17:28:28 · 540 阅读 · 0 评论 -
Line 1034: Char 9: runtime error: reference binding to null pointer of type ‘int‘ (stl_vector.h)
题目链接今天在刷LeetCode时出现了意外.....结果最后出现了意外:开头处.经过一番调试,我发现是在使用函数库提供的sort()函数时,配置cmp函数出现了意外:但是随后我们将等号去掉:其实在代码处理中不用管intervals[i][1],我们只需要对第一个元素值进行排序即可.所以千万要注意:cmp函数里面千万千万不要写等号,不然就是会报错!!!!!!#include<vector>#include<algorithm>...原创 2021-11-20 16:33:36 · 4418 阅读 · 2 评论 -
三数之和LeetCode15
题目描述思路我们如果是乱序的数组,如何集合去重?很困难!所以我们先想排序,再进行接下来的操作.如果使用for三重循环,肯定是会超时的.考虑固定第一个指针,第二个指针在第一个指针右边,不断变大,为了最后的a+b+c=0(此时的a是固定的数值),随着b的变大,c一定是会变小的,也就是说,b和c的选择就不是先选择b,再选择c的,我们可以同时选择!令b=a+1(指针意义上的加一!),c=nums[size-1],那么大体思路上就已经解决了.细节问题对于-1,-1,-1,0,1,2,4..原创 2021-11-19 19:44:26 · 858 阅读 · 0 评论 -
fgets读取到二维字符数组换行符注意事项
试题 E:迷宫本题总分:15 分【问题描述】 下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可 以通行的地方。010000000100001001110000 迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。 对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、向右走。 ...原创 2021-11-06 12:11:55 · 890 阅读 · 0 评论 -
蓝桥杯-数的分解
【问题描述】 把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包含数字 2 和 4,一共有多少种不同的分解方法?注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和 1001+1000+18 被视为同一种。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。不需要思考,我们只需要注意i的最大值,j的起始值,i<j<k即可1)其次,注意题目.原创 2021-11-06 09:57:52 · 142 阅读 · 0 评论 -
蓝桥杯-数列求值
问题描述给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求第 20190324 项的最后 4 位数字。答案提交这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个 4 位整数(提示:答案的千位不为 0),在提交答案时只填写这个整数,填写多余的内容将无法得分。1)我们明白这么大的项如果直接求累加最后会出long long 的范围,所以我们可以每一次累加之后对结果%10000,使得结果永远不超过要求的范围(a+b+c+d原创 2021-11-05 22:39:13 · 590 阅读 · 1 评论