返回 AI 资讯
社区讨论LinuxDo 最新

关于做leetcode过程中的一些个人感悟

我最近做 LeetCode Hard 时发现了一个很有意思的现象。 人的思考似乎天然倾向于短周期。 大多数时候,我们看到一个问题,大概 20~30 秒就会开始: 理解 → 判断 → 给出答案 → 行动。 这在现实中非常有效。 回复消息、处理工作、解决局部问题、做决策,大多数都不需要很长的连续思考。 但我发现,一旦问题复杂到需要 5 分钟以上的连续推理,事情就完全不同了。 你很容易: 忘记前面的推理; 在多个变量之间丢失上下文; 得到新结论后不知道如何整合; 在错误的方向上继续推理; 或者干脆过早结束思考。 做 L…

内容摘要

作者:#ysjs 板块:#搞七捻三 我最近做 LeetCode Hard 时发现了一个很有意思的现象。 人的思考似乎天然倾向于短周期。 大多数时候,我们看到一个问题,大概 20~30 秒就会开始: 理解 → 判断 → 给出答案 → 行动。 这在现实中非常有效。 回复消息、处理工作、解决局部问题、做决策,大多数都不需要很长的连续思考。 但我发现,一旦问题复杂到需要 5 分钟以上的连续推理,事情就完全不同了。 你很容易: 忘记前面的推理; 在多个变量之间丢失上下文; 得到新结论后不知道如何整合; 在错误的方向上继续推理; 或者干脆过早结束思考。 做 LeetCode Hard 时,我后来换了一种方式: 不是强迫自己连续想 10 分钟。 而是: 整体思考 → 找到当前最关键的问题 → 集中进行一段局部推理 → 得到明确结论 → 记录下来 → 回到整体 → 继续寻找下一个关键点。 也就是: 局部深度思考 → 外化结论 → 回到整体模型。 这样做之后,我发现效果明显更好。 后来我意识到,这可能不仅仅适用于算法题。 现实世界其实非常容易把我们训练成“短思考模式”。 看到问题 → 解决问题。 看到消息 → 回复消息。 看到错误 → 修复错误。 但系统性思维需要的是另一种能力: 不是立刻回答: 我现在应该做什么? 而是先持续思考: 我到底在解决什么问题? 这个问题由哪些部分组成? 哪些是原因,哪些只是结果? 变量之间如何相互影响? 有没有反馈循环? 真正的关键点在哪里? 如果长期发展会怎样? 我越来越觉得: 短思考适合解决局部问题。 长思考适合建立整体模型。 短思考让你快速行动。 长思考让你知道: 什么才值得行动。 现代环境其实非常偏向短思考。 高压力、竞争、即时反馈、短视频、消息、KPI…… 它们都在训练: 刺激 → 判断 → 回应。 但复杂问题需要的是: 观察 → 停留 → 建模 → 推演 → 发现关系 → 修正模型。 而且我发现,长思考往往只能发生在一种比较平静的状态下。 高压力状态会让人不断想着: 快一点。 结果呢? 会不会失败? 别人做到哪里了? 要不要换方向? 这些东西本身就在不断占用思考空间。 所以深度思考需要的可能不只是智力,而是一种能力: 允许自己暂时没有答案。 允许前几分钟什么成果都没有。 允许推翻刚才的想法。 允许长时间停留在同一个问题上。 我现在越来越觉得,复杂问题的思考方式应该是: 长思考建立地图。 ↓ 短思考解决关键节点。 ↓ 回到长思考确认方向。 ↓ 再用短思考继续行动。 短思考让你成为一个好的执行者。 长思考让你有机会成为一个好的系统构造者。 而真正重要的训练,也许就是: 不要总是在 30 秒的时候自动结束思考。 主动给自己 5 分钟。 不要查答案。 不要急着行动。 只是尝试理解: 这个问题的整体结构到底是什么? 我觉得,这可能是从“解决问题”走向“理解和构造系统”的一个关键能力。

资讯来源

LinuxDo

原文链接

打开原文
关于做leetcode过程中的一些个人感悟 · AI 资讯 · AIGOOD - AIGOOD