读别人的代码
约 10 分钟
自己写出答案只是第一步,去看看别人怎么写,常会发现自己绕了远路——别人一个 STL 就顶掉你二十行手写代码。
比如统计每个数出现几次,新手爱手写查找,其实一个 map 就够:
#include <map>
map<int, int> cnt;
for (int i = 0; i < n; i++) cnt[a[i]]++; // 自动计数
for (auto &p : cnt) // 按键从小到大遍历
cout << p.first << " " << p.second << "\n";
读别人代码时重点看三样:他的变量名、他怎么拆函数、他用了哪个库函数。看懂一个更短更清楚的写法,常常胜过自己闷头再做十道题,是最快的进步途径之一。
小纸条
找一道做过的题,看看有没有更简洁的解法。
登录 后可看答案