电影《真心话大冒险2017》影片资料
2026-07-29 3432417
2026-07-29 0
之前实测Grok 4.3在算法实现场景中拿到7.8/10的意外高分,比代码生成(6.9)和Bug修复(6.3)都好。这个结果让人好奇:Grok是不是特别适合写算法?还是只是那道LRU缓存恰好对上了它的训练数据?今天用五道不同难度的算法题做更全面的验证。
不知道该从众多工具中怎样选择、收藏很多却真正使用很少、查找成本过高、入口彼此分散、缺乏针对开发者的归类,这五个痛点在“选AI写算法”的场景中尤其突出。若你想找到一个能够按场景迅速比较AI工具算法能力的入口,可以看看 titiai.cn 此类AI工具聚合平台。
本次选取五道经典算法题,实际检验Grok 4.3的算法代码编写能力,并横向比较ChatGPT(GPT-5.6)、Claude 4.8和Gemini 3.5。
| 题目 | 难度 | 考察能力 |
|---|---|---|
| LRU缓存 | 中等 | 哈希表+双向链表、并发安全 |
| 二叉树序列化/反序列化 | 中等 | 递归、字符串处理 |
| 最长递增子序列(O(nlogn)) | 中等偏难 | 二分查找、动态规划 |
| 图的拓扑排序 | 中等 | BFS/DFS、入度处理 |
| 正则表达式匹配 | 困难 | 动态规划、状态转移 |
每道题从三个方面评估:逻辑是否正确、时间复杂度是否最优、边界处理是否完整。
Grok此前在这道题中得到7.8分,本轮复测结果依旧稳定。
| 模型 | 逻辑正确 | 复杂度最优 | 边界处理 | 综合 |
|---|---|---|---|---|
| GPT-5.6 | ✅ | ✅ O(1) | ✅ | 8.5 |
| Grok | ✅ | ✅ O(1) | ✅ | 7.8 |
| Claude | ✅ | ✅ O(1) | ✅ | 8.0 |
| Gemini | ✅ | ✅ O(1) | ⚠️ | 7.2 |
Grok采用OrderedDict给出了一套简洁方案,不仅逻辑正确,也覆盖了容量为0和重复key等边界情况,代码风格清爽,注释也很到位。
| 模型 | 逻辑正确 | 复杂度最优 | 边界处理 | 综合 |
|---|---|---|---|---|
| GPT-5.6 | ✅ | ✅ | ✅ | 8.4 |
| Claude | ✅ | ✅ | ✅ | 8.2 |
| Grok | ✅ | ⚠️ | ⚠️ | 7.0 |
| Gemini | ✅ | ✅ | ⚠️ | 7.3 |
在序列化部分,Grok的逻辑没有问题,但反序列化遗漏了对空节点的处理。当树中连续出现空节点时,最终结果便会出错。普通测试用例无法暴露这个Bug,只有特定的树结构才能触发。
题目明确要求时间复杂度达到O(nlogn),不能采用简单的动态规划O(n²)方案。
| 模型 | 逻辑正确 | 复杂度最优 | 边界处理 | 综合 |
|---|---|---|---|---|
| GPT-5.6 | ✅ | ✅ O(nlogn) | ✅ | 8.6 |
| Claude | ✅ | ✅ O(nlogn) | ✅ | 8.1 |
| Gemini | ✅ | ⚠️ O(n²) | ⚠️ | 6.8 |
| Grok | ✅ | ⚠️ O(n²) | ⚠️ | 6.5 |
Grok使用了时间复杂度为O(n²)的动态规划方案,没有满足O(nlogn)的题目要求。 虽然它理解“最长递增子序列”的含义,却没有使用二分查找进行优化。GPT-5.6与Claude则都给出了正确的O(nlogn)方案。
由此可以看到Grok在算法深度上的不足:中等难度题目能够答对,一旦题目需要特定优化技巧,表现就开始力不从心。
拓扑排序(中等):
| 模型 | 逻辑正确 | 复杂度最优 | 边界处理 | 综合 |
|---|---|---|---|---|
| GPT-5.6 | ✅ | ✅ | ✅ | 8.3 |
| Claude | ✅ | ✅ | ✅ | 8.0 |
| Grok | ✅ | ✅ | ⚠️ | 7.2 |
| Gemini | ✅ | ✅ | ⚠️ | 7.0 |
Grok的拓扑排序逻辑正确,但对"图中有环"这个边界情况没有处理——当输入图存在环时,Grok的代码会无限循环而不是报错。
正则表达式匹配(困难):
| 模型 | 逻辑正确 | 复杂度最优 | 边界处理 | 综合 |
|---|---|---|---|---|
| GPT-5.6 | ✅ | ✅ | ✅ | 8.5 |
| Claude | ✅ | ✅ | ⚠️ | 7.8 |
| Gemini | ⚠️ | ⚠️ | ❌ | 5.8 |
| Grok | ❌ | — | — | 4.5 |
面对困难算法题,Grok直接失手。 正则表达式匹配依赖复杂的状态转移逻辑,Grok提供的DP方案在状态转移方程上存在错误,因而得出了不正确的匹配结果。GPT-5.6是唯一全部答对的模型。
| 难度 | Grok | GPT-5.6 | Claude | Gemini |
|---|---|---|---|---|
| 中等(LRU/拓扑) | 7.5 | 8.4 | 8.0 | 7.1 |
| 中等偏难(序列化/LIS) | 6.8 | 8.5 | 8.2 | 7.1 |
| 困难(正则匹配) | 4.5 | 8.5 | 7.8 | 5.8 |
| 综合 | 6.3 | 8.5 | 8.0 | 6.7 |
结论十分明确:面对中等难度算法题,Grok表现较好(7.5);随着难度上升,其能力衰减明显,困难题得分仅为4.5。GPT-5.6在各档难度中均保持8.4-8.5,是可靠性最高的算法助手。
① Grok的算法能力存在清晰上限。 处理中等难度题目尚且够用(7.5),到了中等偏难就开始吃力(6.8),面对困难题则直接失手(4.5)。项目若包含复杂算法,Grok并不是适合的选择。
② Grok在算法方面的亮点是“简洁”。 与其他模型相比,它通常会给出更简洁、更Pythonic的代码,但这份简洁也带来了复杂场景覆盖不够的问题。
③ GPT-5.6是算法场景中唯一可靠的选择。 五道题的综合成绩达到8.5,各档难度表现均很稳定,也是唯一不存在明显短板的模型。
④ 入口的重要性高于模型。 各模型在算法任务中的表现差距达到4.5-8.5,因此选型时必须考虑算法难度。借助按场景归类的AI工具发现平台,可以更快完成选型判断。
Grok 4.3编写算法代码存在明确的难度上限:中等难度(LRU、拓扑排序)表现不错(7.5分),到了中等偏难(最长递增子序列O(nlogn))便显露出优化能力不足,困难题(正则匹配)更是直接失手(4.5分)。它的长处是代码简洁且足以应对中等算法,弱点则是算法深度不足、边界处理不完整。项目仅涉及基础数据结构和中等算法时,Grok具有不错的性价比;如果涉及复杂算法,唯一可靠的选择是全难度稳定取得8.5分的GPT-5.6。