LeetCode刷题思路总结

回溯

今天自己去解了一道组合的问题,从循环暴力慢慢走到回溯的思路,今天就挺明白了。

凡是排列组合问题,正常的循环处理不了。刚好回溯就很好的解决了这类问题,所以这类问题首要考虑回溯的方法,如分割等和子集问题,虽然会超时,但不失为一个解决思路。

处理排列组合问题首要考虑回溯法。模板如下,可以去除重复元素

排列组合问题回溯,那个for循环没有问题,但是如果存在回溯,但不是排列问题,就不能要那个for循环了,因为不能把后面的元素拿到前面来。

比如:下面的例子:

可以看到代码没有for,因为是按照顺序递归

动态规划

有些问题,比如字符串匹配,很明显需要n的平方的时间复杂度,而且存在重复问题,那么就需要设立标志位,这时可以考虑动态规划。有通用模板


我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容