华为可信科目一错题怎么检查?把错误原因和下一步写清楚
可信科目一错题整理方法:记录会让代码出错的输入,判断为什么错,安排修改顺序,再隔天不看答案重做。
先说结论
直接回答
错题检查可以按五步完成:保留最简单且仍能触发错误的输入,写清第一处偏离预期的状态,把问题归到解题思路、代码实现、边界、复杂度或时间分配,只改最关键的一处并用原输入重新测试,隔天再换一道相似新题。终点不是看懂别人怎样改,而是自己不再重复同类错误。
先记住这四点
- ✓先记录事实,避免只写粗心
- ✓错误原因一次只选一个主分类
- ✓修改后必须用原来会让代码出错的输入重新测试
- ✓隔天不看答案重做,再换一道相似新题
四行错误记录表
把“这题又错了”改成下一题可以验证的动作
下面用窗口收缩条件写一个简化示例。真实记录时替换为自己的题号、提交和会让代码出错的输入即可。
可复现事实
- 完整示例
- 输入含连续重复值时,窗口收缩晚了一轮
- 下一步
- 保留最简单且仍能触发错误的输入与对应提交
主要原因
- 完整示例
- 把合法条件写反,解法与更新顺序不一致
- 下一步
- 编码前先写窗口不变量
最小修改
- 完整示例
- 调整收缩条件,不改动其余状态
- 下一步
- 用空窗口、全重复和极值重新测试
换一道相似新题
- 完整示例
- 隔天完成不同题面的变长窗口任务
- 下一步
- 观察是否能一次写对收缩循环
01
第一步:保留一份可以复现的事实
记录题号、语言、提交时间、错误结果和最简单且仍能触发错误的输入。再写出你原本预期的状态与实际状态第一次不同的位置。没有这些事实,错题记录很容易变成对自己情绪的评价。
如果会让代码出错的输入很大,先不断删减,直到得到仍能稳定复现问题的最小版本。它会让错误条件更容易被看见。
- 题号、语言和提交版本
- 最简单且仍能触发错误的输入与预期输出
- 第一处偏离预期的状态
- 发生问题前的关键判断
02
第二步:区分表面现象和真正原因
超时、答案错误和运行错误只是现象。原因可能是解题思路不成立、状态更新顺序错误、边界遗漏、复杂度估计错误,或者调试时在同一个方向上停留太久。
一次只优先确定一个主要原因。如果同时列出十几个问题,下一次练习很难知道该先改变哪个动作。
- 解题思路:方法前提与题目条件不匹配
- 代码实现:状态或更新顺序与解题思路不一致
- 边界:遗漏最小、极值、重复或无解
- 节奏:在低收益方向投入过久
03
第三步:写成下一次真正做得到的动作
“以后细心”无法验证。更具体的动作可以是:窗口题编码前先写合法条件;涉及累加时先判断整数范围;搜索题开始前先写状态去重键;调试超过十五分钟就缩小输入。
动作需要配一个完成标准,例如在陌生题中主动说出窗口不变量并一次写对收缩循环。这样下一次训练才能判断修复是否保留。
- 动作发生在编码前、编码中还是调试时
- 动作必须能被观察
- 一次只改变一个主要习惯
- 提前写清怎样算重新测试通过
04
第四步:重新测试、隔天重做,再换一道相似新题
修改后先跑原来会让代码出错的输入和相邻边界,再隔天不看答案重写。最后换一道题面不同但方法相似的任务。少做其中一步,都可能只是短期记住了答案。
把重新测试的结果写回错误记录。如果同类错误仍出现,说明原来的原因判断或练习方法需要调整,而不是简单再刷更多题。
- 重新测试:原错误与相邻边界都通过
- 隔天重做:离开旧代码仍能实现
- 相似新题:题面变化后仍能识别同一方法
- 再次检查:同类错误的修改次数下降
FAQ
常见问题
每道错题都要写很长的记录吗?
不需要。普通错误记下事实、原因、修改动作和重新测试结果即可;反复出现或影响计时结果的问题,再做一次完整代码检查。
错题本应该按题号还是算法分类?
题号用于追溯,主要索引建议按错误原因分类,例如边界、状态更新、复杂度和时间分配,更方便发现重复出现的问题。
答疑时老师看代码最有价值的部分是什么?
老师会根据本人代码和会让代码出错的输入判断错误原因,排出修改顺序,并告诉你下一道应该用什么题检查,而不是替学员把答案改完。同一个错误可以围绕上下文继续追问,直到自己能独立重新测试。
把答案接到下一步
先看老师在答疑里如何引用本人代码、出错输入和重新测试结果
完整示例不是一句笼统评价,而是引用本人提交和一组会让代码出错的输入,指出为什么错、应该先改哪里、改完怎样重新测试,以及下一道练什么。
继续解决下一个问题
返回全部备考指南 →本文讨论研发人员使用的华为可信科目一编程训练;具体考试安排以当期通知为准。AlgoMooc 为独立训练产品,课程使用原创或改编任务训练编程、算法与限时调试能力。