字符串全组合
来源:互联网 发布:unity3d手机游戏大全 编辑:程序博客网 时间:2024/06/11 01:56
输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。
假设我们想在长度为n的字符串中求m个字符的组合。我们先从头扫描字符串的第一个字符。针对第一个字符,我们有两种选择:一是把这个字符放到组合中 去,接下来我们需要在剩下的n-1个字符中选取m-1个字符;二是不把这个字符放到组合中去,接下来我们需要在剩下的n-1个字符中选择m个字符。这两种 选择都很容易用递归实现。
package zifuchuan;import java.util.*;/** * Created by wuxiaosi on 2017/9/17. */public class QuanZuHe { public static void main(String[] args){ char[] s = {'a','b','c'}; combination(s); } public static void combination(char[] s){ if(s==null||s.length==0){ return ; } List<Character> list = new ArrayList(); for(int i=1;i<=s.length;i++){ combine(s,0,i,list); } } //从字符数组中第begin个字符开始挑选number个字符加入list中 public static void combine(char[] s,int begin,int number,List<Character> list){ if(number ==0){ System.out.println(list.toString()); return; } if(begin==s.length) return; list.add(s[begin]); combine(s,begin+1,number-1,list); list.remove((Character)s[begin]); combine(s,begin+1,number,list); }}
阅读全文
0 0
- 字符串 全组合
- 字符串全组合
- (1)字符串全排列 / 组合
- 字符串全排序和组合
- 字符串的全排列和全组合
- 字符串的全排列_全组合
- 字符串全组合与全排列
- java字符串所有组合,字符串全组合--递归
- 字符串全组合-递归法
- 字符串的全组合非递归实现
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- [收集]字符串的全排列和组合
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- 字符串的全排列和组合算法
- Python 爬虫-爬取pixiv特定搜索结果的所有作品-登陆
- 洛谷P3672(排列计数dp)
- algorithm
- LeetCode 54. Spiral Matrix
- css之display:inline-block与float区别
- 字符串全组合
- Bitwise Operation
- HDU-6214 Smallest Minimum Cut(最大流)
- Tensorflow-图像标签问题
- Qt之打包发布(NSIS详解)
- SpringCloud(第 008 篇)电影微服务,使用 application.yml 配置文件配置 Ribbon 在客户端进行负载均衡调度算法
- HDU 6215 Brute Force Sorting [链表]
- 索引的实现原理
- BZOJ 3262 陌上花开