这篇文章是自己在练习一些算法题时的思考和心得。文章内容会不定期更新。
一、常规套路
套路一:循环或递归
很多复杂的算法题,最终都可以用循环或是递归来实现,并且一般用这两种方法都可以实现,只不过空间复杂度和时间复杂度会有差别。
实例:字符串反转,二分查找。
套路二:递推
对于一些没有思路的算法题,可以先从0或是1开始,求出递推公式,然后寻找其中的规律。
实例:斐波那契数列,青蛙跳台阶。
套路三:抽象建模
有些问题,要透过现象看本质。同一个数学模型,外面套上不同的壳子后,可能就会有很大的迷惑性。当我们抽象出本质后,发现是我们熟悉的模型。
实例:兔子繁殖,青蛙跳台阶。
在解决算法题时,上面这些套路一般都不是单独使用,而是多个一起使用。