


🏆 第9题:不稳定排序是谁?
✅ 答案:A(选择排序)
1、🧠 故事理解
小勇士来到"排序学院",每个排序都在排队。
👦 有两个同学:
小红(成绩 90)
小蓝(成绩 90)
👉 稳定排序:排完之后,顺序不变
👉 不稳定排序:可能交换,顺序乱掉
2、🧩 核心思维
👉 判断稳定性只问一句:
"排序过程中,会不会跨位置交换?"
3、🔥 快速判断口诀
| 排序 | 是否稳定 |
|---|---|
| 冒泡 | ✅ |
| 插入 | ✅ |
| 归并 | ✅ |
| 选择 | ❌(会乱换) |
👉 选择排序每次"直接换最小值",容易把相同元素顺序打乱
🏆 第10题:快速排序分区
✅ 答案:B
1、🧠 故事理解
快速排序像"分队游戏":
👉 选一个队长(pivot)
👉 比他小的站左边
👉 比他大的站右边
2、🧩 思维模型
循环过程中要维护:
[小的区域] [未处理] [大的区域]
3、🧠 正确操作
if (arr[j] < pivot) {
i++;
swap(arr[i], arr[j]);
}
👉 先扩大"小区间",再交换
4、🚨 常见错误
❌ 顺序写反
❌ 比较符号错(> 或 ==)
5、🎯 记忆口诀
👉 "小的往前放"
🏆 第11题:二分查找次数
✅ 答案:C(7次)
1、🧠 故事理解
小勇士在猜一个1~100的数字,每次都对半砍:
100 → 50 → 25 → 13 → 7 → 4 → 2 → 1
最多7次!
2、🧩 思维模型
👉 二分查找次数 ≈
log₂(n)
3、🎯 快速估算技巧
| n | 次数 |
|---|---|
| 100 | ≈7 |
| 1000 | ≈10 |
👉 记住:2⁷=128
🏆 第12题:二分查找mid写法
✅ 答案:A
1、🧠 故事理解
小勇士算中点:
mid = (left + right) / 2
看起来没问题......
💥 但如果数很大,会溢出!
2、🧩 正确思维
👉 安全写法:
mid = left + (right - left) / 2
3、🎯 核心点
不是为了好看,而是:
防止 left + right 爆掉
4、🚨 考试策略
看到 mid:
👉 优先选"防溢出写法"
🏆 第13题:贪心算法本质
✅ 答案:A
1、🧠 故事理解
小勇士买东西:
👉 每次都选"当前最好的"
这就是贪心!
2、🧩 思维模型
👉 贪心 =
每一步都选当前最优
3、🚨 关键区别
| 算法 | 特点 |
|---|---|
| 贪心 | 局部最优 |
| 动态规划 | 全局最优 |
4、❗ 易错点
❌ "一定得到最优解" → 错
👉 有些问题贪心会错
🏆 第14题:分治求最大值
✅ 答案:D
1、🧠 故事理解
小勇士找最大值:
👉 把数组一分为二
👉 左边找最大
👉 右边找最大
👉 比一下
2、🧩 分治三步(必须掌握🔥)
1. 分(拆)
2. 治(递归)
3. 合(合并结果)
3、🧠 正确逻辑
return max(leftMax, rightMax);
4、🚨 常见错误
❌ return left + right
❌ return left * right
👉 这不是"求最大",而是乱算
🏆 第15题:高精度乘法进位
✅ 答案:B
1、🧠 故事理解
小勇士在做"大数乘法":
每一位要处理:
👉 原来的值 + 进位
2、🧩 思维模型(关键🔥)
temp = 当前值 + 进位
3、🧠 正确代码
int temp = c[k] + carry;
c[k] = temp % 10;
carry = temp / 10;
4、🚨 易错点
| 错误 | 原因 |
|---|---|
| 只用 c[k] | 忘记进位 |
| 减 carry | 没意义 |
| 乘 carry | 完全错误 |
🎯知识点总结:
🧠 ① 排序理解
👉 稳定 vs 不稳定(交换方式)
🧠 ② 快速排序思想
👉 分区 + 不变量
🧠 ③ 二分查找
👉 log级别 + 防溢出写法
🧠 ④ 算法思想
👉 贪心 vs 分治
🧠 ⑤ 高精度计算
👉 每一位 = 当前值 + 进位









