level 12
有 a, b, c, d, e, 取任意三个排列,列举所有排列方式
2012年08月08日 00点08分
1
level 7
Permission.of()这个方法api没有是自己写的?
2012年08月08日 01点08分
5
Permutation.of() 静态工厂方法
2012年08月08日 01点08分
level 6
public class ArrangementTest{
public static void main(String[] args) {
String parameter = "abc"; //输入任意字符串序列
Set<String> set =action(parameter);
System.out.println("Arrangement number:"+set.size());
for(String s : set){
System.out.println(s);
}
}
private static Set<String> action(String parameter){
if(parameter.length() == 1){
Set<String> set = new HashSet<String>();
set.add(parameter);
return set;
}
Set<String> resultList = new HashSet<String>();
for(int i=0;i<parameter.length();i++){
String s = parameter.substring(i,i+1);
String rest = parameter.substring(0,i)+parameter.substring(i+1);
Set<String> list = action(rest);
for(String str : list){
StringBuilder sb = new StringBuilder(s.length()+str.length());
sb.append(s);
sb.append(str);
resultList.add(sb.toString());
}
}
return resultList;
}
}
2012年08月08日 02点08分
9
我输入C3/49 得出139的数量! 亲,这是组合算法!
2013年12月17日 16点12分
level 14
import java.util.Iterator;
public class ZH implements Iterator {
private int [] source = {1,2,3,4,5} ;
private int resultSize =3;
public int[] resultIndex= new int[resultSize];
Object[] result = new Object[resultSize]; void init() {
for (int i = 0; i < resultSize; i++)
resultIndex[i] = i + 1;
resultIndex[resultSize - 1]--;
}
int getAddedIndex(){
for( int i = resultSize - 1,j = 0 ; i >=0 ; i-- ,j++ )
if( resultIndex[ i ] != source.length - j )
return i;
return -1;
}
public Object[] next(){
resultIndex[ getAddedIndex() ] += 1;
for( int i =0 ; i < resultSize ; i++ )
result[ i ] = source[ resultIndex[ i ] -1 ] ;
return result;
}
public boolean hasNext(){ return getAddedIndex() != -1 ; }
public void remove() {}
public static void main(String args[]){
ZH p= new ZH();
p.init();
while ( p.hasNext() )
p.next() ;
}
}
2012年08月09日 09点08分
15
![[Love]](/static/emoticons/Love.png)
运行一下试试看先
2012年08月09日 10点08分