日期:2014-05-20 浏览次数:20960 次
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String args[]) {
ArrayList list = new ArrayList();
//计算出每一行的所有情况
for(int i=0;i<3;i++)
{
for(int j=i+1;j<4;j++)
{
list.add(i+""+j);
}
}
//取四个(每行都可能是相同的位置)出来去比较位置的重复量
for(int i=0;i<list.size();i++)
{
for(int j=0;j<list.size();j++)
{
for(int k=0;k<list.size();k++)
{
for(int l=0;l<list.size();l++)
{
String str = (String)list.get(i)+(String)list.get(j)+(String)list.get(k)+(String)list.get(l);
//统计每个字符出现的次数,如果某一个字符数超过3了,那就是不合法的.
int length = str.length();
Map<String, Integer> xxx = new HashMap<String, Integer>();
boolean flag = false;
for(int x=0;x<length;x++)
{
String t = str.charAt(x)+"";
if(xxx.get(t)!=null)
{
if(xxx.get(t)>1)
{
flag=true;
break;
}else
{
xxx.put(t,xxx.get(t)+1);
}
}else
{
xxx.put(t,1);
}
}
if(!flag)
{
System.out.println(str);
}
}
}
}
}
}
}