- 博客(13)
- 收藏
- 关注
原创 代码随想录算法训练营第十一天| LeetCode| C++| 20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值
由于栈结构的特殊性,非常适合做。
2023-11-20 15:57:15 224 1
原创 代码随想录算法训练营第十天| LeetCode| C++| 栈与队列理论基础、232.用栈实现队列、225. 用队列实现栈
(既可以push_back,也可以push_front,pop_同理)思考一下如下四个问题,会发现并不好回答。1、C++中stack 是容器么?2、我们使用的stack是属于哪个版本的STL?3、我们使用的STL中stack是如何实现的?4、stack 提供迭代器来遍历stack空间么?栈和队列是STL(C++标准库)里面的两个数据结构。C++标准库是有多个版本的,要知道我们使用的STL是哪个版本,才能知道对应的栈和队列的实现原理。那么来介绍一下,三个最为普遍的STL版本:
2023-11-19 14:11:13 190
原创 代码随想录算法训练营第九天| LeetCode| C++| 字符串总结篇、双指针总结篇
在数组:就移除个元素很难么?中,原地移除数组上的元素,我们说到了数组上的元素,不能真正的删除,只能覆盖。i++) {这个代码看上去好像是O(n)的时间复杂度,其实是O(n^2)的时间复杂度,因为erase操作也是O(n)的操作。所以此时使用双指针法才展现出效率的优势:通过两个指针在一个for循环下完成两个for循环的工作。
2023-11-16 19:41:50 66 1
原创 代码随想录算法训练营第八天| LeetCode| C++| 344.反转字符串、541.反转字符串II、卡码网:54.替换数字、151.翻转字符串里的单词、卡码网:55.右旋转字符串
1、1.1、如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。1.2、如果库函数仅仅是 解题过程中的一小部分,并且你已经很清楚这个库函数的内部实现原理的话,可以考虑使用库函数。2、
2023-11-15 15:44:40 149
原创 代码随想录算法训练营第七天| LeetCode| C++| 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
1、首先定义 一个,key 放a和b两数之和,value 放a和b两数之和出现的次数。2、遍历nums1和nums2数组,统计两个数组元素之和,和出现的次数,放到map中。3、定义int变量count,用来统计 a+b+c+d = 0 出现的次数。4、再遍历nums3和nums4数组,找到如果0-(c+d)在map中出现过的话,就用count把map中key对应的value也就是出现次数统计出来。5、最后返回统计值 count 就可以了1、
2023-11-14 17:48:56 199 1
原创 代码随想录算法训练营第六天| LeetCode| C++| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
哈希表(hash table / 散列表)是根据。
2023-11-02 16:31:52 181
原创 代码随想录算法训练营第五天(周日休息)| LeetCode| C++| 206.反转链表 细究递归中的return问题 + 学习如何利用本地IDE进行debug(设置日志)
1、使用的本地IDE是Visual Studio 2022(下文简称VS)2、VS的一些调试操作。
2023-10-29 19:21:19 508 1
原创 代码随想录算法训练营第四天| LeetCode|C++| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142.环形链表II
1、采用虚拟头节点2、确定其循环的终止条件3、注意指针何时失去联系,提前保存需要的值4、操作指针cur 一定要指向我要反转两个节点的前一个节点5、必须先写再写另一个,顺序相反的话,若cur->next 为空,那么cur->next->next就是操作空指针了6、为什么是&&,因为只有同时满足才能奇偶一起干,其中一个不满足就代表就是奇or偶了。
2023-10-28 20:22:35 439 1
原创 代码随想录算法训练营第三天| LeetCode|C++| 203.移除链表元素 、707.设计链表、206.反转链表
不定义构造函数行不行?答案是可以的,C++默认生成一个构造函数,但是这个构造函数不会初始化任何成员变量。所以如果不定义构造函数使用默认构造函数的话,在初始化的时候就不能直接给变量赋值!
2023-10-27 23:32:15 307
原创 代码随想录算法训练营第二天| LeetCode|C++| 977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
因此在第一个for循环里要写。
2023-10-27 11:01:47 516
原创 代码随想录算法训练营第一天| LeetCode|C++| 704. 二分查找、27. 移除元素
2.[left, right) 此处的区间就是我们每次循环的搜索区间**原则:**选定区间并坚持这个定义!
2023-10-25 16:02:20 814
原创 while循环条件中的自增(a++)自减(a--)
结论:前置自增++a是先自增,再判断,再进入循环体;后置自增a++是先判断,再自增,再进入循环体;自减同理;
2023-09-26 16:27:10 1409 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人