当我们拿到一个算法题时,看完题后,可能会出现一脸懵逼的情况,那我们该如何解决呢?
1.首先,应该考虑是否可以用暴力解法?
2.然后,最基本的情况该如何解决,能否化繁为简的去思考解题方法?
3.最后,找最近重复的子问题,因为我们写程序,只能写if... else, for循环, while循环,递归(程序自己调用自)等去实现功能,究其原因就是计算机是人类发明的,人类发明的毕竟没有人脑强,它其实就是一个简单的重复式的机器,再加上我们现在用的这些程序和用到的这些算法,都是一些简单的算法,所以不涉及任何人工智能的东西,你就把其想成一个不断重复的在做事情就可以了,而你要让它用重复的东西来解决问题,说明这些问题就是可重复,把这个问题想完以后,那么对于自己去了解:回溯,分治,动态规划,递归,就是找重复性的问题了