- 博客(76)
- 收藏
- 关注
原创 十大排序算法
从i=1开始,判断nums[i-1]和nums[i]的大小,一直到nums[i]插入到自己的位置。模拟抓扑克牌的过程:将元素插入到已排序的部分,使其有序。2. 左右双指针,左指针找比 pivot 大的元素,右指针找比 pivot 小的元素,然后交换。最坏情况下(如输入数组已经有序),快排可能退化到 O(n²)。3. 直到 left >= right,然后 right 作为新的 pivot 位置。每轮都选一个最小值放到前面,类似“挑选最小的牌放到前面”。• 数组存储(i 位置的子节点:2。
2025-02-18 11:44:01
1163
原创 力扣144. 二叉树的前序遍历145. 二叉树的后序遍历94. 二叉树的中序遍历(非递归版)
的顺序,从先序列遍历的根左右变成了根右左,接着通过reverse变成了左右根,即后序遍历。
2025-02-17 20:36:15
310
原创 力扣144. 二叉树的前序遍历145. 二叉树的后序遍历94. 二叉树的中序遍历(递归版)
【代码】力扣144. 二叉树的前序遍历145. 二叉树的后序遍历94. 二叉树的中序遍历。
2025-02-17 10:19:22
228
原创 macOS 中,默认的 Clang 编译器和 Homebrew 安装的 GCC 都不包含 bits/stdc++.h 文件
在 macOS 中,默认的 Clang 编译器和 Homebrew 安装的 GCC 都不包含 bits/stdc++.h 文件,因为它是一个 非标准 的头文件,主要由 MinGW 和某些 Linux 平台的 GCC 提供。
2025-01-08 21:58:26
669
原创 KMP算法(史上最清晰版本,每一步思路都仔细剖解)
• 核心:next[i] 代表模式串 pattern[0..i] 的「最大相同前后缀长度」。• 构造:从 i=1 开始,用一个 j 指向前缀末尾,一旦不匹配就回退 j,直到匹配或回到 0。• 用途:在 KMP 主串匹配时,每次出现不匹配,可以借助 next[] 快速跳到合适的位置,避免重复扫描。
2025-01-08 12:26:51
1042
原创 力扣1. 两数之和
相信很多人和我一样(本人较🥬,如有冒犯,多多见谅),遇见力扣第一题以为很简单(虽然的确很简单,但是没有刷过),但是只能想到暴力方法(正式在下)。
2024-12-30 11:45:35
699
原创 力扣56. 合并区间
此题在技巧上需要掌握Lambda表达式,在 C++ 的 Lambda 表达式 中,[] 是 捕获列表(capture list),用于指定 Lambda 表达式如何访问其外部作用域的变量。
2024-12-27 10:33:26
668
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人