
LeetCode手撕日记
文章平均质量分 82
无敌且带飞
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++手撕LeetCode——双指针(滑动窗口)
滑动窗口法是一种常用的算法技巧,它通常用于数组或字符串的遍历,以及子串或子序列的搜索等问题。该算法的基本思想是维护一个滑动窗口,每次移动窗口,通过更新窗口的左右边界,来得到新的结果原创 2023-04-10 01:36:50 · 219 阅读 · 0 评论 -
C++手撕LeetCode——二叉树遍历(BFS层序遍历)
BFS算法的优点是找到的路径一定是最短路径,缺点是空间复杂度较高,因为需要保存所有已经访问过的节点。此外,在面对大规模的图时,BFS算法可能会陷入无限循环,因为搜索过程需要访问所有可达节点,有两大应用场景:「层序遍历」、「最短路径」原创 2023-04-10 00:24:18 · 486 阅读 · 0 评论 -
C++手撕 ACM——换座位-桌椅高度(取模运算)
大厂笔试编程真题:最近发现有些笔试中的编程题或者面试中的手撕算法是ACM模式的,即代码中需要包含输入和输出的操作者,所以也借一个大厂的笔试真题练习以下这种模式下的刷题原创 2023-04-09 15:11:57 · 695 阅读 · 0 评论 -
C++手撕LeetCode——二叉树递归(根据前中后序构造)
递归是一种算法或函数的设计技巧,通过在函数定义中调用自身来解决问题。在数据结构与算法中,递归通常用于解决可分解为多个相似子问题的问题。递归算法通常包含两部分:基本情况和递归情况。 基本情况是递归的出口,即在问题可以直接解决或不需要递归时的情况。 递归情况则是指通过将问题分解成更小的子问题,并将子问题递归地解决来解决原始问题的情况原创 2023-04-05 00:41:32 · 260 阅读 · 0 评论 -
C++手撕LeetCode——双指针(相对位置不变)
双指针法即通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。在数组和链表的操作中是非常常见的,很多考察数组、链表、字符串等操作的面试题,都使用双指针法,可降低算法时间复杂度和保持元素相对位置不变原创 2023-02-13 23:02:14 · 232 阅读 · 0 评论