最近又开始重新练习算法题,突然明白算法并不是一开始就要得 完美的解决方案,完美的答案只不过是通过不断思考和优化得到的最终结果,我们可以从最初的暴力求解开始,然后一步一步优化,打补丁。重要的是思考过程,因为他就像是钓鱼的技术,不管换什么鱼竿和地方,有技术都能钓到鱼。
拿到问题后,先分析问题有什么特征,运用已有的知识是否能解决,已有的知识他就是经验,题做的多了经验就丰富,就不用每次都从暴力求解考试了,所以刚开始也是最难得,因为是没有经验,连题型都认不全,所以在刷算法题之前,最好去了解到所有算法题类型,大概会有哪些解法。此处推荐 《算法图解》通俗易懂,重点是很薄,能很快看完,简单了解。
每一个算法题就像我们业务中遇到的问题,我们需要先想出最简单的方案,然后加以改进,检验边界值,针对特殊情况做处理,就像做业务先写最简单的增删查该,然后考虑是否有优化的地方,还要考虑特殊情况,边界值,数值为空等问题,然后业务海量提升时,我们又需要做哪些优化。
算法题锻炼的是我们的思维,考虑问题的角度,做事的态度。我们是不是要把一件事做的漂亮。