字符串的组合
来源:互联网 发布:网店转让 知乎 编辑:程序博客网 时间:2024/06/16 09:10
与字符串的排列不同,一个字符串的两个组合如果包含相同的字符则认为是相同的字符串。给出一个可输出一个字符串中的字符所有可能组合算法,例如,输入串“abc”,“ac”,"ab"是不同的组合,而“ab”,"ba"是相同的组合。
解决方案:从1~n的每个长度r均生成n!/r!(n-r)!个字符串,其中n是输入字符串的长度。
算法:对于输入的字符串中的每个字符,1,将当前的字符放入输入字符串中,并输出;2,如果存在剩余的字符,用剩余的字符继续组合串。
public class Combinations{
//输出串str所有的字符串子集
publci static void CombinationsOne(String str){
CombinationsOne("",s);public static void CombinationsOne(String prefix,String str){
if(str.length()>0){
System.out.println(prefix+str.charAt(0));
CombinationsOne(prefix+str.charAt(0),str.substring(1));
CombinationsOne(prefix,str.substring(1));
}
}
//替代方案
publci static void CombinationsTwo(String str){
CombinationsTwo("",s);
}
private static void CombinationsTwo(String prefix,String str){
System.out.println(prefix);
for(int i=0;i<str.length();i++){
CombinationsTwo(prefix+str.charAt(i),str.substring(i+1));
}
}
}
- 字符串组合的程序
- 字符串的组合
- 字符串的组合
- 字符串的组合
- 字符串的组合
- 字符串的组合
- 字符串的组合[算法]
- 字符串的组合
- 字符串的所有组合
- 找出字符串的组合
- 字符串的组合[算法]
- 字符串的组合[算法]
- 字符串的组合
- 字符串的所有组合
- 字符串的组合
- 字符串的组合
- 字符串的组合
- 字符串的组合
- Linux系统date命令的参数及获取时间戳的方法
- js页面刷新
- 冒泡排序
- Jstl中<c:forEach>标签及相关属性的总结
- HDU 1875 畅通工程再续 克鲁斯卡尔
- 字符串的组合
- Android百度地图(五):百度地图鹰眼sdk监控进出地理围栏(区域)
- 卡尔曼滤波
- PAT,IT届的托福,高分者直通名企面试
- SQLmap数据库注入攻击
- php 数组函数操作方法
- 模拟aloha协议
- 51单片机的中断系统(一)
- Toolbar设置详解----掉坑总结