- 博客(14)
- 收藏
- 关注
原创 代码随想录算法 Day10 | Ch5 栈与队列(一)● 232.用栈实现队列 ● 225. 用队列实现栈 ●20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项
1.题目:请你仅使用两个栈实现先入先出队列。
2024-08-23 23:07:37
115
原创 代码随想录算法 Day9 | Ch4 字符串(二)●151.翻转字符串里的单词 ●卡码网55.右旋转字符串 ●28. 实现 strStr() ●459.重复的子字符串
1.题目:给你一个字符串s,请你反转字符串中的顺序。是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的分隔开。返回顺序颠倒且之间用单个空格连接的结果字符串。输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。2.思路:先删除多余的空格,然后把字符串整体反转,再把单词反转3.注意:(1)erase()本身的复杂度为O(n),如果在循环里面使用,时间复杂度将变为O(n²)
2024-08-22 23:14:58
297
原创 代码随想录算法 Day8 | Ch4 字符串(一)● 344.反转字符串● 541. 反转字符串II ●卡码网54. 替换数字
1.题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须、使用 O(1) 的额外空间解决这一问题。2.思路:双指针分别从字符串首尾往中间靠拢即可3.注意:在函数 swapchar(char &a, char &b) 的形参里一定要加 &,没有&时只是交换局部变量 a 和 b。
2024-08-21 22:24:09
347
原创 代码随想录算法 Day7 | Ch3 哈希表(二)● 454.四数相加 ● 383. 赎金信 ●15.三数和 ●18. 四数之和
1.题目:给你四个整数数组nums1nums2nums3和nums4,数组长度都是n,请你计算有多少个元组2.思路:先用一个 unorder_map 记录 nums1 和 nums2 的和,key表示元素和,value表示该和出现的次数,然后找 0-(nums3 + nums4)在 unorder_map 里出现的次数。
2024-08-20 22:52:49
895
原创 代码随想录算法 Day6 | Ch3 哈希表(一)● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数● 1. 两数之和
1.题目:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词。2.思路:哈希表3.注意:无需创建两个数组,在对 s 的字母统计时在哈希表上递增,在统计 t 时递减即可。
2024-08-19 23:47:31
258
原创 代码随想录算法 Day4 | 24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,142.环形链表Ⅱ,160. 链表相交
1.题目:给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。2.思路:正常模拟链表next的变换即可3.注意:注意next链路改变时原有路径会消失,所以需要创建辅助链表节点。
2024-08-17 21:38:28
948
原创 代码随想录算法 Day3 | 203.移除链表元素,707.设计链表,206.反转链表
一、移除链表元素1.题目:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。2.思路:依次循环即可3.注意:C++在删除节点后需要对其释放,否则在内存中还是会存在占用4.代码:(1)方式一:对 head 节点单独处理(2)方式二:自定义一个虚拟 head 节点。
2024-08-16 22:20:51
932
原创 代码随想录算法 Day2 | 209. 长度最小的子数组,59. 螺旋矩阵Ⅱ ,7.区间和,44.开发商购买土地
1.题目:给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2.思路: 滑动窗口3.注意:(1)所示代码中for循环内判断条件用while而不是if循环体内使用 if 时,窗口左边界移动一次后尚未判断新窗口内子数组元素和是否 >= target 就会将右边界移动。
2024-08-15 20:20:59
736
原创 代码随想录算法 Day1 | 704. 二分查找,27. 移除元素 ,977.有序数组的平方
3.注意:①慢指针变动的条件 ②快指针强调当前检查元素,慢指针强调元素位置。2.思路:双指针(由数组排序性质可知:大的数字在两侧,小的数字在中间)3.注意:可新建一个等大小的数组,不必拘泥于在原数组上操作。3.注意:左闭右开与左开右闭两者写法的判断条件的区别。元素的顺序可能发生改变。1.题目:给你一个数组。1.题目:给你一个按。,如果目标值存在返回下标,否则返回。个元素有序的(升序)整型数组。组成的新数组,要求也按。
2024-08-14 19:03:08
281
原创 Windows下libmodbus库的编译与Qt里的调用
近日安装libmodbus库时查阅众多零零散散的博客,遭受多日毒打,我决定写下一篇有图有文字的详细文章记录Windows系统下用MSYS和MINGW编译libmodbus库的安装过程。大佬们可能会看的不耐烦,但是对我这样的新手极度友好!!!
2023-08-30 09:16:08
2342
8
原创 【笔记】摄像机标定和3D重构
单孔摄像机(照相机)会给图像带来很多畸变,畸变主要有 “径向畸变” 和 “切向畸变”。如下图所示,用红色直线将棋盘的两个边标注出来,棋盘的边界与红线并不重合,我们认为应该是直线的棋盘边界也凸出来了。所以,我们需要一些图案来进行摄像机标定。OpenCV官方提供了一些棋盘图像,在理论学习时我们可以使用它们,在实践过程时需要根据具体摄像头拍摄图片的内参和外参进行调节,本文使用图像均为OpenCV官方图像。Ps:这些图像需要在OpenCV官网单独下载,资源包中还会有cpp,java接口的教程等很多内容。
2023-04-03 21:07:00
292
1
原创 VS Code中清除shell窗口历史记录
在写程序时需要多次打印思考步骤以及确保程序步骤的正确性,此时的shell窗口会有很多历史残留记录,然而过多的记录会影响我们查阅,尤其是在多次报错时。所以我们需要一段代码清除历史记录,使得shell窗口简洁明了。Way 2:在程序开头添加如下代码,每次debug时会直接清除记录。Way 1:在shell窗口输入 cls 并按回车键。
2023-04-03 20:05:50
258
1
原创 机器学习环境配置
在学习一段时间机器学习后,本菜鸟深受环境配置的毒打,故记录一点步骤为以后电脑万一需要格式化做准备以及为新人提供一点帮助吧。本文讲述内容包含python、tensorflow、anaconda、Numpy、jupyter、CUDA、Pytorch的安装。
2023-03-22 20:29:55
2961
2
原创 【笔记】OpenCV图像基本操作
本文为学习笔记,OpenCV基于Python对图像的基本操作因为个人比较懒,不想到处找,所以将常用函数整理在一起,便于CV搬运
2023-03-06 21:30:18
2124
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人