让AI直接给你代码,你什么也学不到。但如果你把AI当"答疑老师"用,刷题效率至少翻3倍。今天分享一套经过验证的 AI 辅助刷题方法论——不是教你怎么偷懒,是教你怎么学得更快。


一、AI刷题的最大误区

❌ 错误姿势:
  1. 打开 LeetCode
  2. 复制题目
  3. 粘贴给 AI
  4. 拿到代码
  5. 提交 AC
  6. 以为自己会了
  7. 下次遇到同类型 → 完全写不出来

✅ 正确姿势:
  1. 打开 LeetCode
  2. 自己先想 10-15 分钟
  3. 想不出来 → 让 AI 讲思路(不给代码!)
  4. 根据思路自己写
  5. 写不出来 → 让 AI 给提示(只给下一步)
  6. 写出代码 → 让 AI review
  7. 总结思路,记录到笔记

核心原则:AI是老师,不是代写。


二、分层次使用AI

根据你当前的状态,选择不同的AI使用策略:

┌──────────────────────────────────────────────────────────┐
│              AI辅助刷题四层策略                             │
├──────────────┬───────────────────────────────────────────┤
│   你的状态     │            AI的作用                       │
├──────────────┼───────────────────────────────────────────┤
│ Level 1      │ 🎯 讲解思路                               │
│ 完全不会      │ "这道题的思路是什么?用什么算法?"           │
│              │ ⚠️ 坚决不要要代码                           │
├──────────────┼───────────────────────────────────────────┤
│ Level 2      │ 💡 给提示                                  │
│ 有点思路但卡住│ "我想到用双指针,但不知道怎么收缩窗口"        │
│              │ AI 给下一步提示,不是完整解法                  │
├──────────────┼───────────────────────────────────────────┤
│ Level 3      │ 🐛 帮忙debug                               │
│ 写出来但有bug │ "我的代码在第X个测试用例失败了,帮我看看"      │
│              │ AI 分析错误原因,引导你自己修复               │
├──────────────┼───────────────────────────────────────────┤
│ Level 4      │ ⚡ 优化                                    │
│ 能AC但不够优  │ "我的解法O(n²),有没有更优的?"              │
│              │ AI 分析优化方向,你来实现                    │
└──────────────┴───────────────────────────────────────────┘

三、四个层级的Prompt模板

Level 1:思路讲解(不要代码!)

我正在做一道LeetCode题:

【题目】
给你一个整数数组 nums 和一个整数目标值 target,
找出和为目标值 target 的那两个整数,并返回它们的数组下标。

我的理解:
我知道可以用暴力法O(n²),但感觉应该有更优解。

请告诉我:
1. 这道题最优解用什么算法?
2. 核心思路是什么?(用通俗语言解释)
3. 为什么要用这个算法?(而不是其他算法)

⚠️ 注意:不要给我代码!只要思路讲解。

为什么不要代码?

如果你看到代码,大脑会进入"阅读模式"而不是"思考模式"。看懂代码 ≠ 能写代码。先理解思路,自己尝试实现,才是真正的学习。

Level 2:给提示(不是完整解法)

我正在做 LeetCode 3:无重复字符的最长子串。

我的思路:
我知道要用滑动窗口,left和right两个指针。
right右移扩大窗口,当出现重复字符时...我卡住了。

问题:
当出现重复字符时,left应该怎么移动?
是移动到重复字符的下一个位置,还是有其他逻辑?

只给我一个提示,不要给完整解法。

Level 3:Debug

我正在做 LeetCode 76:最小覆盖子串。

我的代码运行失败,测试用例:
s = "ADOBECODEBANC", t = "ABC"
期望输出:"BANC",我的输出:"CODEBA"

这是我的代码:
```java
[粘贴你的代码]

报错信息:

[粘贴报错]

请帮我分析:

  1. 我的代码哪一步逻辑有问题?
  2. 应该怎么修?(给我方向,不要直接给修改后的代码)
### Level 4:优化

我完成了 LeetCode 15:三数之和。

我的解法:
先用Arrays.sort排序,然后两层for循环+双指针。
时间复杂度 O(n²)。

请分析:

  1. 我的解法是否已经是最优?
  2. 有没有常数级别的优化空间?
  3. 空间复杂度还能优化吗?
  4. 有没有其他完全不同的解法?
---

## 四、实战案例演示

### 案例:LeetCode 42 — 接雨水

**Step 1:自己思考 15 分钟**(可能完全没思路,没关系)

**Step 2:Level 1 请求思路**

> Prompt: "接雨水这道题,我想用暴力法每根柱子分别算,但O(n²)太慢。最优解用什么思路?不要代码,只要讲清楚原理。"

AI 会告诉你:**动态规划**(左右最大值数组)或**双指针**(左右指针向中间收敛)或**单调栈**(按行计算水量)。

**Step 3:自己尝试实现双指针解法**

```java
// 你自己写的(可能有bug)
public int trap(int[] height) {
    int left = 0, right = height.length - 1;
    int result = 0;
    while (left < right) {
        if (height[left] < height[right]) {
            result += height[left];  // 这里有bug
            left++;
        } else {
            result += height[right]; // 这里也有bug
            right--;
        }
    }
    return result;
}

Step 4:Level 3 请求 Debug

Prompt: “我的接雨水双指针解法,测试用例 [0,1,0,2,1,0,1,3,2,1,2,1] 期望6,我输出3。帮我看看哪里逻辑有问题,不要直接给正确代码。”

AI 会指出:你应该维护左右两边的最大值,而不是直接用当前柱子高度。水量 = min(leftMax, rightMax) - height[i]。

Step 5:根据提示修复,提交AC

Step 6:Level 4 请求优化

Prompt: “我的双指针解法AC了,空间O(1)时间O(n)。还有更优解吗?单调栈解法是怎么做的?”


五、常见误区

误区1:直接要代码

❌ "给我这道题的代码"
✅ "这道题用什么算法?核心思路是什么?"

看到代码的那一刻,你的大脑就放弃了思考。
你得到了答案,但没有得到能力。

误区2:不看解析就下一题

❌ AC了下一题
✅ AC了 → 复盘 → 总结模板 → 记录笔记

每道题的价值不在于AC本身,
而在于你从中学到了什么可以复用的模式。

误区3:所有题都问AI

❌ 简单题也问AI
✅ 简单题自己做,中等题卡住再问,困难题先看题解

如果Easy题也要AI才能做,说明基础不够,
应该先补数据结构和算法基础。

误区4:AI说啥就是啥

❌ 盲信AI的答案
✅ 自己验证AI给出的思路

AI也会犯错!特别是边界条件和特殊case。
一定要自己在LeetCode上跑一遍。

六、推荐刷题路线

结合AI辅助,推荐的刷题路线:

Week 1-2: 基础(必须自己做,不问AI)
├── 数组、链表、栈、队列
├── 哈希表、集合
└── 二分查找

Week 3-4: 基础算法模板(可以用AI讲思路)
├── 双指针(对撞、快慢、滑动窗口)
├── BFS / DFS
└── 递归与回溯

Week 5-6: 进阶(AI辅助理解)
├── 动态规划(入门 → 中等)
├── 单调栈 / 单调队列
└── 贪心算法

Week 7-8: 综合实战
├── 困难题(AI讲思路 + 自己实现)
├── 虚拟竞赛(限时训练)
└── 针对薄弱环节专项训练

各类题目数量建议:

┌─────────────────────────────────────────────────┐
│  难度      │  建议数量  │  AI使用策略              │
├───────────┼──────────┼─────────────────────────┤
│  Easy     │  50-80   │  不用AI,自己做           │
│  Medium   │  100-150 │  卡住再问AI              │
│  Hard     │  20-30   │  AI讲思路+自己实现        │
└───────────┴──────────┴─────────────────────────┘

七、AI工具推荐

工具优势推荐场景
DeepSeek中文强、便宜日常刷题、算法讲解
Claude代码质量高、推理强复杂题分析、代码Review
ChatGPT综合能力强通用问题
Cursor直接在IDE里对话写代码时的实时辅助
LeetCode AI集成在平台内不想切换工具时

💡 最后总结:AI 是刷题的加速器,不是代步车。四层策略的核心就是——尽量让自己多思考,AI只在关键时刻推你一把。坚持这个原则,你的算法能力会肉眼可见地提升。

如果觉得有帮助,点赞 + 收藏支持一下!有问题欢迎评论区讨论 💬

更多推荐