组合总数计算_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 组合总数计算

组合总数计算

 2013/10/25 21:45:04  QuarterLifeForJava  程序员俱乐部  我要评论(0)
  • 摘要:packagetest;importjava.util.HashMap;importjava.util.Map;/***@authorQuarterLifeForJava*极其简单初级的实现*/publicclassTest{publicstaticvoidmain(String[]args){intarry[]={1,2,3,4,5,6};intcount=conditionTimes(arry);intrest=arry.length-count;if(rest==0){//A(n)(n
  • 标签:
class="java">
package test;

import java.util.HashMap;
import java.util.Map;

/**
 * @author QuarterLifeForJava
 * 极其简单初级的实现
*/
public class Test {
	public static void main(String[] args) {
		int arry[] = {1,2,3,4,5,6};
		int count = conditionTimes(arry);
		int rest = arry.length - count;
		if(rest == 0){//A(n)(n)种组合
			int result = resultCount(arry.length,arry.length);
			System.out.println(result);
		}else{//A(n)(n-重复数字+1)除以A(重复数字)(1)
			int result = resultCount(count,arry.length)/resultCount(1,(rest+1));
			System.out.println(result);
		}
	}
	
	public static int conditionTimes(int arry[]){
		Map<Integer,Integer> map = new HashMap<Integer, Integer>();
		for(int i=0;i<arry.length;i++){
			map.put(arry[i], arry[i]);
		}
		return map.size();
	}
	
	public static int resultCount(int start,int end){
		int result = 1;
		for(int i=1;i<=start;i++){
			result*=end;
			end--;
		}
		return result;
	}
	
}
上一篇: Java反编译软件 下一篇: 没有下一篇了!
  • 相关文章
发表评论
用户名: 匿名