![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递归、DFS、剪枝、回溯等问题
海伦•
求知若渴,大智若愚
展开
-
走楼梯
来自cc150 9.1分析:递归将由简单到复杂 如果次数明确的情况下选择迭代方法import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sca = new Scanner(System.in); int n ...原创 2019-04-23 09:50:39 · 484 阅读 · 0 评论 -
机器人走格子(递归 / 动态规划)
cc150 9.2分析:动态规划是有小到大得进行 递归表面从大到小,实际从小到大import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sca = new Scanner(System.in); int x = sca.nextIn...原创 2019-04-23 14:55:21 · 1058 阅读 · 0 评论 -
合法括号
cc150 9.6分析:对于非数值型递归就得用容器去装啦 这里的Set就是几个去重的集合容器 生成一点装一点点,所谓迭代就是慢慢改变import java.util.HashSet;import java.util.Set;public class Main { public static void main(String[] args) { //Set为去重的集...原创 2019-04-23 15:23:30 · 278 阅读 · 0 评论 -
封闭形式的直接解
例:(转化为数学问题)汉罗塔:求它的移动次数的时候,就不用模拟移动过程 f(n ) = 2 f ( n - 1) + 1;用数学归纳法:对应值为: 1 3 7。。。 。。。 n - 1归纳得: f(n) = - 1证...原创 2019-04-23 20:26:50 · 988 阅读 · 0 评论 -
部分和
分析:用模式匹配方法,他类似于非空子集的求解方式 用递归的方法(两个选择,选和不选)类似于选硬币(选和不选)import java.util.ArrayList;public class Main { public static int[] a = {1, 2, 34, 5, 5}; public static int nl = a.length; public sta...原创 2019-04-23 21:05:16 · 143 阅读 · 0 评论 -
n皇后
分析 : 从上往下依次放入皇后,可以成功放满n个皇后,count++ 下一个无法放,则撤销一个,尝试,若仍然通再撤回,以此类推 将n的值可以改变来控制皇后的数量public class Main { public static int N = 8; public static int count = 0; public static boolean fa...原创 2019-04-24 08:05:52 · 142 阅读 · 0 评论 -
困难的子串
分析:char ch = (char) ('A' + i);时记得转为字符,否则会变为A0,A1字符串或者其他字符串 判断字符串是否为苦难字符串时直接用截取的方法看是否有重复且相邻的字符串没考虑到以B开头的代码import java.util.Scanner;public class Main { public static int n; //第n个最小困...原创 2019-04-24 09:19:29 · 131 阅读 · 0 评论