- 博客(7)
- 收藏
- 关注
原创 代码随想录day8|344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
C 风格字符串是\0。如果你手动输入字符数组,并且没有显式地加\0,即使空间足够,\0,这会导致,并可能引发或。
2025-02-20 16:38:50
699
原创 代码随想录day7|454.四数相加II 383.赎金信 15.三数之和 18.四数之和
四个for循环时间复杂度到了O(N^4)我们让A B内容相加,C D内容相加再得到一个表,然后再C D表中查找是否有让A B表中某个元素=0的元素为什么用哈希表需要查询元素就用哈希表为什么用map数组型哈希表适用于长度有限的情况set型哈希表会忽略相同内容map型哈希表包含key和value。
2025-02-19 16:27:36
714
原创 代码随想录day6|哈希表理论基础、242有效的字母异位词 、249.两个数组的交集、202 快乐数、1.两数之和
杂货店商品价格问题,就可以引出哈希表。
2025-02-17 21:38:16
858
原创 代码随想录第四天|24.两两交换链表中的结点、19.删除链表的倒数第N个节点、 面试题 02.07. 链表相交、 142.环形链表II 、总结
可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。这就意味着,从头结点出发一个指针,从相遇节点 也出发一个指针,这两个指针每次只走一个节点, 那么当这两个指针相遇的时候就是 环形入口的节点。简单来说,就是求两个链表交点节点的指针。
2025-02-16 22:16:27
252
原创 代码随想录第三天|链表基础理论、203移除链表元素、707设计链表、206反转链表
/ 节点上存储的元素 ListNode* next;// 指向下一个节点的指针 // 构造函数 ListNode(int x) : val(x), next(NULL) {} };// 自动调用构造函数 std::cout << "节点值: " << node.val << std::endl;std::cout << "节点的 next 指针: " << node.next << std::endl;// 应该是 NULL return 0;操作方式创建节点。
2025-02-16 20:34:06
990
原创 代码随想录算法训练营第二天|209.长度最小的子数组、59.螺旋矩阵II、区间和、开发商购买土地、总结
长度最小的子数组学习了滑动窗口思想,事实上他也是双指针的一个操作螺旋矩阵主要强调了对每条边的处理,我们要对每条边采用同样的处理规则这样才有利于我们程序的编写。区间和学到了前缀和的思想,一边输入一边累加开发商购买土地也是前缀和思想的。
2025-02-14 10:27:54
302
原创 代码随想录算法训练营第一天|数组基础理论 704. 二分查找、27. 移除元素、977.有序数组的平方
数组在内存上是一个连续的存储空间,因此数组中的元素不能被删除,只能被覆盖(因为要保证修改后的数组还是存储在连续空间中二分查找要注意闭区间和开区间,闭区间就是会取到边界搜索的时候要注意我们搜索条件的意义,我们是在合法区间上搜索,因此条件就是区间合法移除元素和有序数组平方用到了双指针,写之前想清楚程序流,想清楚各个条件(循环的范围;指针更新的条件。
2025-02-13 10:10:50
925
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅