public class Zuhe {
public static void main(String[] args) {
String s = "122345";//这里是要用到的所有数组成的一个字符串,其它字符同样适用
char[] c = s.toCharArray();
new Zuhe().zuhe(c,c.length,0);
System.out.println("可能的组合数:"+kk);
}
static int kk=0;
private void zuhe(char[] array, int n, int k) {
if (n == k) {
if(array[2]!='4'){//第三个位置不能出现4
String str = new String(array);
if(str.indexOf("53")<0&&str.indexOf("35")<0){//3,5不能连续出现
System.out.println(str);
++kk;
}
}
} else {
for (int i = k; i < n; i++) {
swap(array, k, i);
zuhe(array, n, k + 1);
swap(array, i, k);
}
}
}
private void swap(char[] a, int x, int y) {
char temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
分享到:
相关推荐
PHP多个字符串排列组合的算法,组二,组三,彩票统计中奖注数的算法中会经常用到
列出字符串的全部排列组合,没有考虑重复字符串。
主要为大家详细介绍了JAVA实现abc字符串的排列组合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了java实现字符串排列组合问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例讲述了C#查找字符串所有排列组合的方法。分享给大家供大家参考。具体实现方法如下: // 1. remove first char // 2. find permutations of the rest of chars // 3. Attach the first char to each of ...
Backtracking 求解迷宫以及字符串排列组合
JavaScript应用实例-字符串所有排列组合.js
主要介绍了Java排列组合字符串的方法
python编程题:字符串的(所有可能的)排列组合全文共3页,当前为第1页。python编程题:字符串的(所有可能的)排列组合全文共3页,当前为第1页。python编程题:字符串的(所有可能的)排列组合 python编程题:字符...
10),范围为1到9,数字之间用空格分割,字符串首位不包含空格。 输出: 输出以字典序排序的火车出站序列号,每个编号以空格隔开,每个输出序列换行。 样例输入: 1 2 3 样例输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 ...
AutoJs源码-字符串所有排列组合。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己...
面试题 08.07. 无重复字符串的排列组合标签:字符串、回溯难度:中等题目大意给定一个字符串 S。若未被访问过则将其加入排列中,并在访问后将该元素变为未访问状
主要介绍了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,是数学中非常实用的排列算法,需要的朋友可以参考下
设计一个程序,当输入一个字符串时,要求输出这个字符串的所有排列。 例如输入字符串 abc,要求输出由字母 a、b、c 所能排列出来的所有字符串 abc,acb,bac,bca,cab,cba。 方法:递归法 以字符串 abc 为例介绍...
顺序读入一个字符串数据(不含空格),判断能否将串中字符重新组合可以构成一个回文串。如用lvele可以构成回文串level、elvle,而用label则无法构成回文串。
android,java,已知开端和结尾的字符串,截取中间的部分出来使用,并可以重新组合回原来的字符串
回溯算法求解排列组合问题,可以重复,c语言编写
输入一个字符串,打印出该字符串中字符的所有排列。例如输入字符串abc,则输出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba 思路 这是典型的递归求解问题,递归算法有四个特性: 必须有可...