回溯
算法-回溯应用
谈谈1974
火萎了,我也准备走了
展开
-
算法-复原 IP 地址
回溯法,使用额外数组作为解空间,循环处理输入字符串的各个部分,确定一个有效 IP 整数段则将其加入解空间递归深入,直到处理至字符串末尾,最终确定一组 IP 整数段则递归返回。一个有效的 IP 地址由四个整数组成,每个整数位于 0 到 255 之间,且不能含有前导 0,整数之间用。给定一个只包含数字的字符串 s ,用以表示一个 IP 地址候选,返回所有可能的有效 IP 地址,输出:[“255.255.11.135”,“255.255.111.35”]输入:s = “25525511135”原创 2022-12-31 15:51:13 · 257 阅读 · 0 评论 -
算法-二叉树查找和为target的路径
1. 和为target的路径有如下二叉树,需要找出从根节点到叶节点 和为指定值 的路径。 0 / \ 1 2 / \5 4例如 target =6, 则需要返回 [0,1,5],[0,2,4]2. 解法回溯法查找,如有解直接返回,无解返回上一层。ArrayList<Integer> list = new...原创 2019-09-06 23:26:49 · 1052 阅读 · 0 评论 -
算法-相加等于N的序列
1. 相加等于N的序列给定数字 N,打印出所有相加等于 N 的序列。例如 N = 4,则打印如下:1+1+1+11+1+21+1+32+23+142. 解法回溯思想,使用额外数组来存储解空间,向下递归直至符合要求,处理后回溯到上一层 int s[] = new int[100];//存储序列的数组 int count = 0;//序列中数的存储个数 in...原创 2019-09-03 21:03:54 · 782 阅读 · 0 评论 -
算法-字符串重组
1. 字符串重组给定一个字符串,输出该字符串所有单个字符重新排列的不重复的字符串。例如: abc输出:abc,acb,bac,bca,cba,cab2. 解法回溯思想,将字符串转化为字符数组,单个字符两两交换位置,完成后回溯到上一层。public ArrayList<String> Permutation(String str) { ArrayList<...原创 2019-09-09 13:40:42 · 1431 阅读 · 0 评论