用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连
来源:互联网 发布:易语言收费系统源码 编辑:程序博客网 时间:2024/04/29 19:16
转载:
http://www.blogjava.net/nokiaguy/archive/2008/05/10/199647.html
/*用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列, * 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连 * */public class TestString {private int[] numbers = new int[] { 1, 2, 3, 3, 4, 5 };public int n;private String lastResult = "";private boolean validate(String s) {if (s.compareTo(lastResult) <= 0)return false;if (s.charAt(2) == '4')return false;if (s.indexOf("35") >= 0 || s.indexOf("53") >= 0)return false;return true;}public void list(String index, String result) {for (int i = 0; i < numbers.length; i++) {if (index.indexOf(i+48) < 0) {//i+48 Ascii码的48代表的是0String s = result + String.valueOf(numbers[i]);if (s.length() == numbers.length) {if (validate(s)) {System.out.println(s);lastResult = s;n++;}break;}list(index + String.valueOf(i), s);}}}public static void main(String[] args) {TestString t = new TestString();t.list("", "");System.out.println("总数:" + t.n);}}import java.util.Set;import java.util.TreeSet;public class TestString02 {public static Set<String> set = new TreeSet<String>(); public static void perm(char[] n, int beg, int end) { if (beg == end) { addNumber(String.valueOf(n)); } else { for (int i = beg; i <= end; ++i) { swap(n, beg, i); perm(n, beg + 1, end); swap(n, beg, i); } } } public static void swap(char[] n, int x, int y) { if (x == y || n[x] == n[y]) { return; } char temp = n[x]; n[x] = n[y]; n[y] = temp; } public static void addNumber(String str) { if (str.charAt(2) == '4' || str.contains("35") || str.contains("53")) { return; } set.add(str); } public static void main(String args[]) { char[] number = new char[] { '1', '2', '3', '3', '4', '5' }; perm(number, 0, number.length - 1); System.out.println(set.size()); int cols = 10; for (String s : set) { System.out.print(s + " "); if (cols-- == 1) { System.out.println(); cols = 10; } } }}
0 0
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、412345等.要求:"4"不能在第三位,"3"与"5"不能相连.
- 用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列, 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
- 用1、2、3、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、3、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、3、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 要求:"4"不能在第三位,"3"与"5"不能相连。
- Java经典算法集——如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。用1、2、2、3、4、5这六
- 用1、2、2、3、4、5 这六个数字,用java 写一个main 函数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连。
- 该公司笔试题就1个,要求在10分钟内作完。 题目如下:用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列, 如:512234、412325等,要求:"4"不能在第三位,"3"与"5"不能相连。
- 用 1,2,2,3,4,5 六个数字,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- 【源码】用1,2,2,3,4,5这六个数字,写一个函数,打印出所有不同的排序,要求:4不能放在第三位,3与5不能相连(C语言实现)
- 编程:用java 语言实现,输入一个数,就相应地输出的几维数组!||用1、2、2、3、4、5这六个数字,用java写一个函数,打印出所有不同的排列,要求:"4"不能在第三位,"3"与"5"不能相连
- 140 打印出所有不同的排列 4不能在第三位,3与5不能相连
- 2013年用友校招编程题:用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列
- Resiprocate源代码分析
- 用java编写一个记事本的心得
- 命令模式的c++代码实现
- myeclipse项目里有红色感叹号
- DHT网络本质
- 用1、2、2、3、4、5这六个数字,用java写一个程序,打印出所有不同的排列 如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连
- shell EOF
- EEPlat PaaS中的多租户数据隔离模式
- 深刻认识clientX,offsetX,screenX
- iOS7.1怎么降级?
- jxl 操作 Excel
- Monkey Test 1(默认运行方式)
- EAS BOS判断是哪个实体的
- Web服务系列(一)