速度与准确

10 分钟

追求速度,但不能牺牲准确。写得飞快却错一处,返工(重新读题、找 bug、改完再测)的时间,远远超过当初省下的那几十秒。宁可动笔前多花十秒把边界想清楚,也别急着敲然后陷进调试泥潭。

最典型的就是 off-by-one:区间端点包不包含没想清,一个 <= 写成 <,结果 WA,回头查半小时。正确的做法是写之前先问自己几个问题:

// 处理区间前, 先想清楚: 端点含不含? r 是下标还是长度?
for (int i = l; i <= r; i++) {   // 闭区间 [l, r] 用 <=
    // ... 想清楚 i 会不会越界再动手
}

数组越界、循环边界、除零,这些"急出来的错"最常见也最费时间。"想太久"和"写太急"是两种相反的毛病,先诚实判断自己更偏哪一种:爱死磕的要学会及时止损,手太快的要强制自己下笔前默想一遍边界。稳,才是真的快。

小纸条

想想你更常犯"想太久"还是"写太急"的错?

登录 后可看答案

速度与准确 · 考级冲刺 · op599 课程