分类:
2008-09-12 13:09:45
输出1,2,2,3,4,5的所有排列组合,4不能在第三位,3和5不能相邻
先看代码吧:
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/**
*
* @author 赵学庆
*
*/
public class T {
public static List
List
String str;
for (int i = 0; i < list.size(); i++) {
str = list.get(i);
list.remove(i);
if (list.size() == 0) {
rtn.add(str);
} else {
List
for (String s : sList) {
rtn.add(str + s);
if (s.length() == 5) {
addNumber(str + s);
}
}
}
list.add(i, str);
}
return rtn;
}
public static void addNumber(String str) {
if (str.charAt(2) == '4' || str.contains("35") || str.contains("53")) {
return;
}
set.add(str);
}
public static Set
public static void main(String[] args) {
List
list.add("1");
list.add("2");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
find(list);
System.out.println(set.size());
int cols = 10;
for (String s : set) {
System.out.print(s+" ");
if(cols--==1) {
System.out.println();
cols = 10;
}
}
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
/**
*
* @author 赵学庆
*
*/
public class T {
public static List
List
String str;
for (int i = 0; i < list.size(); i++) {
str = list.get(i);
list.remove(i);
if (list.size() == 0) {
rtn.add(str);
} else {
List
for (String s : sList) {
rtn.add(str + s);
if (s.length() == 5) {
addNumber(str + s);
}
}
}
list.add(i, str);
}
return rtn;
}
public static void addNumber(String str) {
if (str.charAt(2) == '4' || str.contains("35") || str.contains("53")) {
return;
}
set.add(str);
}
public static Set
public static void main(String[] args) {
List
list.add("1");
list.add("2");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
find(list);
System.out.println(set.size());
int cols = 10;
for (String s : set) {
System.out.print(s+" ");
if(cols--==1) {
System.out.println();
cols = 10;
}
}
}
}
[1]