current is fine, next will be better
降低算法复杂度
时间复杂度
时间复杂度的排序依次是:
循环优化
循环是造成时间复杂度增加的一个重要原因,循环优化的基本原则是尽量减少循环过程中的计算量,多重循环时,应当尽量将内层循环的计算提到上一层
空间复杂度
圈复杂度
圈复杂度是指代码中分支语句的数量,每个while/for/if/switch都会增加圈复杂度,我们对代码的要求是尽可能降低圈复杂度
内存管理
- 如果能够提前知道所需空间的大小,尽量分配空间,push_back毕竟是函数调用,浪费时间
记忆化
记忆化是指我们通过牺牲一部分空间,保存计算中间变量,当再次遇到相同的计算参数时,我们可以不需要重新计算,只需读取保存的结果即可。记忆化最典型的应用就是动态规划。