- 博客(28)
- 收藏
- 关注
原创 【力扣150逆波兰表达式求值】代码解析
本题了解计算过程就比较简单,扫描字符串数组,碰到数字存入栈,碰到运算符(本题为双目运算符)栈中弹出两个数值,进行运算。①栈的类型为long long 因为在力扣测试集中有long long 数量级的数。②判断条件采用判断是否遇到运算符,遇到数字另外处理,因为遇到数字的表达式不好表示。③判断条件遇到运算符要用双引号而不是单引号(如:“+”而不是‘+’),别看只有一个字符但是用字符串保存的实际上是“‘+’ ,‘\0’”两个字符。
2024-07-23 14:08:15 226
原创 【力扣1047删除代码中所有相邻的重复项】代码详解
因为最开始栈为空或者栈中的元素删完了,无法进行字符串比较,所以内循环while的第一个条件就是判断栈是否为空,如果栈中有数据,则进行当前字符串与栈顶元素比较(判断是否重复),重复则删除(i++与pop分别代表一个删除操作),因为可能会出现全部删除完的情况,最后的push操作可能会越界,所以在插入之前加个判断是否越界。然后调整最终的输出顺序(reverse,因为入栈出栈操作后,字符串会反转,我们需要手动反转回来)现将栈转换为字符串(while循环)下面这个部分就是调整数据输出,外层for循环遍历字符串;
2024-07-22 11:03:50 229
原创 【力扣232题.用栈实现队列】代码详解
本题要求我们用栈来实现队列,我的代码与有点不一样,他给是代码是进行弹出操作后不恢复原始数据,而是将输出元素放在输出栈中,这导致需要将输出栈清空才能进行新输入的输出。
2024-07-19 13:43:06 337 1
原创 【力扣459题】代码详解
本题采用暴力算法,不过在代码随想录中最后有采用kmp算法实现的,但是本人对kmp算法只是初有了解,对其如何应用到本题的底层思路还是云里雾里,所以本题不采用kmp算法。
2024-07-18 15:50:32 254
原创 【力扣28题】kmp解法与代码详解
这是一个简单题,用双指针以长字符串遍历就可以解决问题,但是中间可能会出现多次回溯,而在代码随想录里官方采用了kmp算法,虽然不是第一次学习kmp算法,但是之前学习的理论知识,应付考试人工手算会很方便,但是用代码实现自己却是脑壳大,而且感觉很多网上找的看的不是很明白,所以我自己尝试写一下,看看自己明白多少。
2024-07-17 16:22:56 245
原创 【力扣151题:反转字符串的单词】代码详解
给你一个字符串 s ,请你反转字符串中 单词 的顺序。单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。
2024-07-06 13:21:05 1140
原创 【卡码网54 替换字符串中的数字】代码详解
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。例如,对于输入字符串 “a1b2c3”,函数应该将其转换为"anumberbnumbercnumber"。
2024-07-05 17:48:14 234
原创 【力扣18题 四数之和】遇到的问题分析
因为本题与我之前的博客 链接:十分相似,就多套了一个for循环且target不是0.在读过我这篇文章后,一个对四数之和的代码比较容易理解(代码放在最后)。
2024-07-03 16:52:40 575
原创 【力扣15 三数之和 指针法详解】
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ,同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。
2024-07-02 14:20:57 783
原创 【关于unordered_set与unordered_map的理解】
这个数据结构个人感觉是上面这个数据结构的升级,实现的工程类似,只不过所对应的元素是一个pair<>(键值对,不知道这样说行不行)。pair访问元素的方法有两种:①第一个元素是采用->first,访问第二个元素是采用->second。,unordered_set的每个结点是单个元素组成,而unordered_map的结点由一个元素对组成,并且两个数据结构结点的元素类型可以自己定义,极大增强了灵活性。这个数据结构还是好理解的,可以将这个数据结构理解为一个可变的空间,里面可以存放自己定义好的元素。
2024-07-01 14:29:17 307
原创 【力扣349题 两个数组的交集代码详解】
nums1.end()返回的是一个指针 指向的是最后一个元素的后一个空间,这里要注意,不然后面的判断语句会读不明白。res.insert(num):如果找到相同的值,插入到res容器中,但是注意,res是unordered_set类型的容器,里面的数值不会重复,这是函数方法自身会解决的不用我们自己来搞。有两个参数,两参数都是容器的地址,这两个容器存放需要操作的两个数组。,但是有区别,第一unordered_set底层是哈希表实现的,是一个无需表,且数组元素不能重复,自带的查询方法 删除方法的效率为O(1)
2024-06-27 14:48:18 319 1
原创 【网络请求时如何查看自己的cookie】
为什么会写这篇文章,本人晚上喜欢和同学玩CSGO,发现该游戏的饰品可以买卖交易,所以突发奇想想写一个网易buff的脚本,参考https://blog.csdn.net/Tianbibilailai/article/details/136641424。在这段代码中Cookie字段需要自己更改,但是本人是门外汉并不知道,但是在网上找了许久终于找到答案!第五步:在左边列表点击最上面的网址,在右边列表往下移就可以查看自己Cookie。(因为代码里模仿的是谷歌浏览访问网易的官网)第二部:打开网易buff官网并登录。
2024-06-26 13:58:38 393
原创 51小车关于PWM波的应用+代码
太君关于PWM波的见解提到PWM波就让人联想到占空比,不错我认为占空比确实是PWM波的核心,看到这可别跑了。。。我就讲讲我自己的理解:原理:PWM是为了使某些原件的输出功率乘上某个系数从而调整原件的输出功率,但实际上好像只能缩小。实现方法因为我也初学现在只用过51单片机的定时器功能实现。。。代码如图:如果你采用我的代码请保证线要接的和我一样。如果代码和接线无误,但是实现不了调速,检测使能端是否有问题。。。...
2020-12-10 16:37:51 540
原创 keil: I/O ERROR ON INPUT FILE: EXCEPTION 的解决方案
太君报错日常解决方法就是在options 设置operating system为 RTX-51 tiny但是如果还报错!!!!!!!可能是你keil到期了用注册机再注册一下。。。且Support Period那里的时间一定要在你现在所在年份之后!!!...
2020-12-09 12:32:19 4487 3
原创 关于寻迹小车组装建议
太君组装寻迹小车先说我碰到的问题:焊接要注意,而且尽量先焊接再组装。组装前应该先考考虑所有零件在小车上的布局。每次接线时注意正负。不要带电源组装。修改电源线时请一根一根剪。虽然有些常识我们都知道,但是上手时还是会有问题所用零件:1.降压模块;2.51单片机;3.L298N芯片一个;4.红外检测模块2个;5.电池一个;6.电机两个;7.轮胎两个;8导线若干;![零件1芯片使用请自行查询。如果在组装时遇到困难欢迎私信我。。。...
2020-12-08 18:26:00 804
原创 opencv环境报错问题
关于上篇opencv环境尝试太君的报错日常经过重装系统的尝试还是无法解决。。。但是我们还是不能放弃!我用的opencv库的版本是最新的,但是教程是3.4.1,所以我认为是环境配置的步骤上出了小问题。但是我不会配opencv4.5.0的(能力有限)所以我决定去找3.4.1的库。。。...
2020-12-08 17:36:41 202
原创 老太君报错日常
TOC老太君探索之路0x00007FFCD9133B29 处(位于 Project1.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception,位于内存位置 0x0000003C8E96F5C0 处。今天在安装好OpenCV的环境后编写一个简单的测试代码报了一个这样的错,根据经验应该是图片没有加载成功的原因,所以再三比对检查,但是还是错误,所以上网百度。##根据网上的结果进行修改但还是报错,我人几乎崩溃了。。。但是我观察几天又有发现:我想起前一个星期我的
2020-12-06 21:08:22 350
原创 OpenCV/c++/模糊/腐蚀与膨胀/老太君
一·模糊。有四种方法模糊:1.blur(Mat,Mat,Size,Point);均值模糊,对图像掩膜锚点取矩阵的平均值。GaussianBlur(Mat,Mat,Size);高斯模糊medianBlur();中值模糊bilateralFilter()双边模糊腐蚀与膨胀1.dilate();膨胀2.erode();模糊...
2020-08-26 00:51:41 151
原创 OpenCV/c++/图像混合/老太君
图像混合addWeighted(图像1,图像1的权重(0~1),图像2,图像2的权重(1-图像1的权重),数(int型),输出图像)公式 图像1某点的像素×权重+图像2某点的像素×权重+数。
2020-08-24 00:47:47 84
原创 OpenCV/c++/Mat/老太君
今天简单聊聊Mat的常用内部方法。1.Mat.empty():如果为空,返回1.2.Mat a=Mat(b.size(),b.type()):创建一个与b大小类型相同的图片。3.Mat a;a=Scalar(255,255,255);:赋值白色图片。4.a=b.clone(); b.copyTo(a);功能一样,把b拷贝到a。5.int a=b.channels();获取通道数。6.a.ptr(0);获取a第0行的指针。7.a.rows;a.cols;图片高度和宽度。...
2020-08-22 11:09:02 188
原创 c++/opencv/像素操作/老太君/
OpenCV对像素的操作有两种,一种是先获取某行的指针,在确定需要操作的像素。如:Mat src=imread(~~~~~)//导一张图片; const uchar* ptr=src.ptr<uchar>(row);//定义一个uchar指针存放该图片第row行像素的指针确定像素也就简单了,因为像素是数组一样排列的,如要访问第一个像素ptr【0】另一种方法就是直接获取像素点。假设知道像素的位置(row,col)则:灰度图——src.at(row,col);BGR图——src.at(ro
2020-08-22 10:58:06 157
原创 c++/opencv/矩阵掩膜
老太君陪你学cv矩阵掩膜矩阵掩膜可以说是学习OpenCV的第一个难题,我记得第一次学的时候也被下软了,后来发现其实挺简单的。看到这先别怕,我来慢慢道来。第一行:cols明显是int变量,src是Mat变量(在前面声明),因为Mat结构体变量名,所以src.cols-1是获取列数(总列数减一,因为最后一列·最开始一列·最后一行和最开始一行不用,所以去掉),src.channels(),也是一个结构体里的方法,获取图片的通道数,因为像素的通道数只与列有关所以相乘获得真正的像素列数。第二行:就是获取通道
2020-08-21 15:28:03 246
原创 太君OpenCV学习记录
老太君陪你学OpenCV第一课 OpenCV不是编程语言,而是解决关于图片视频有关的一个库,就类似于C语言中 <stdio.h>,所以要完成有关编程必须要依赖其它的编程语言作为框架。本次我是c++为框架进行学习。...
2020-08-20 14:59:17 124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人