算法五 递归方式实现暴力破解
Posted 馥钰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法五 递归方式实现暴力破解相关的知识,希望对你有一定的参考价值。
本篇文章根据左程云视频教程整理而来
https://www.bilibili.com/video/BV11v411G7xR?p=6
问题:
子串
子序列
1、打印一个字符串的所有子串
递归:index 位置要或者不要的递归
2、打印一个字符串的所有子串,要求不要出现重复值的子序列
无重复的子序列,HashSet天然去重用的
3、打印一个字符串的全排列
4、打印一个字符串的全排列,要求不要出现重复的排列
关键改动:某个位置出现了相同的字符,就返回,不再展开后续位置的递归展开
5、
6、
base case
1、2展开递归
7、背包问题
算法一 之前做的选择达到的负重alreadyW
算法二、剩下的空间
8、
举例
先手函数、后手函数
总结:
暴力破解:利用递归的方式。
1、抽象出问题模型,比如先手函数、后手函数;背包问题:分析index位置的数选或者不选,然后递归index+1。递归的单步过程!
2、分析base case,这个才是把结果累加起来的值
以上是关于算法五 递归方式实现暴力破解的主要内容,如果未能解决你的问题,请参考以下文章