原始笔记只有一份编号清单,这里整理成可继续补充的最小占位版本,把每一步对应的关注点稍微展开一下。
当前保留内容
写代码前,先按下面这个固定顺序过一遍:
- 分析问题:把模糊的需求转成明确的输入、输出、约束。
- 建立模型:用合适的抽象(数据结构、状态机、流程图等)刻画问题。
- 拆解步骤:将整体方案拆成可独立实现 / 测试的小步骤。
- 进行实现:按步骤落地代码。
- 时间、空间复杂度分析:估算最坏 / 平均复杂度,确认能满足规模要求。
- 优化策略:选择合适的数据结构与遍历方式,例如:
- 用
unordered_map提速、用map保证有序,按场景选其中之一; - 二维数组用行优先遍历,对 CPU cache 更友好。
- 用
- 封装简化:把可复用的部分抽成函数 / 类,降低后续改动成本。
后续可补的方向
这篇后续如果继续整理,建议至少补下面几类内容:
- 每一步对应的常见反模式与”踩坑清单”
- 不同问题类型(算法题 / 工程模块 / 系统设计)下侧重点的差别
- 复杂度分析的常用速记表(容器操作、典型算法)
- 配套的 code review checklist
当前这篇先当作一个”通用编程思路”的占位条目,后续再逐步补充。
FEATURED TAGS
Git
Cheat Sheet
Markdown
Tools
C++
Linker
Thread
Linux
TCP
Network
GDB
Debug
leetcode
链表
WSL
Ubuntu
Windows
Linux Kernel
GCC
Android
adb
Troubleshooting
Profiling
Sanitizer
glibc
MySQL
Database
Python
curl
Build
ELF
clang-format
CMake
Graphviz
Performance
vcpkg
Protobuf
排查
速查
内存
STL
调试
性能分析
性能
读书笔记
方法论
架构
网络
Timer
mbedTLS
TLS
安全
负载均衡
脚本
工具
LRU
二叉树
BST
中序遍历
回溯
二分查找
优先队列
排序
旋转数组
jenkins
部署