求高手帮忙 把m个数中的 n个进行排序组合 请各位高手帮帮忙啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 详细点,n个数是哪N个,从m中随机取的? m多大都可以,n也是 就是调用方法 method(m,n)能将所有的可能都能打出来 private String[] factorial(int m, int n) { int count = 1; Random random = new Random(); String strFac = ""; HashMap<String, String> facMap = new HashMap<String, String>(); String[] strFacs; if (n > m) { n=m; } for (int i = m; i > m - n; i--) { count *= i; } strFacs = new String[count]; while (facMap.size() < count) { HashMap<String, String> subFacMap = new HashMap<String, String>(); String[] strSubFacs = new String[n]; while(subFacMap.size() < n) { Integer num = new Integer(random.nextInt(m) + 1); String str = num.toString(); if (subFacMap.containsKey(str) == false) { subFacMap.put(str, str); strSubFacs[subFacMap.size()-1]=str; } } StringBuffer sbr = new StringBuffer(); sbr.append(strSubFacs[0]); for (int i = 1; i < strSubFacs.length; i++) { sbr.append("," + strSubFacs[i]); } strFac = sbr.toString(); if (facMap.containsKey(strFac) == false) { facMap.put(strFac, strFac); strFacs[facMap.size()-1]=strFac; } } return strFacs; }只是实现了功能,效率不太高,由于用的是取随机数,越到后面越慢。 Java Flash Player String 类的代码点和代码单元是啥意思? 如何做出,JSlider 松开滑块后返回原值 接到外企面试通知 紧张 只要会操纵数据库,就会短信编程 局域内的两台机子,怎么样通过应用程序来实现传送文件呢? sun.jdbc.odbc.JdbcOdbcDriver里的问题 java.util.logging 有 BUG ,请高手指点,谢谢!! 如何写一个获取cup利用率的java程序? 请教一道JAVA题目 两个月不coding,会废掉吗? 关于java程序员的职业发展,希望各位老鸟给点指点
{
int count = 1;
Random random = new Random();
String strFac = "";
HashMap<String, String> facMap = new HashMap<String, String>();
String[] strFacs;
if (n > m)
{
n=m;
}
for (int i = m; i > m - n; i--)
{
count *= i;
}
strFacs = new String[count];
while (facMap.size() < count)
{
HashMap<String, String> subFacMap = new HashMap<String, String>();
String[] strSubFacs = new String[n];
while(subFacMap.size() < n)
{
Integer num = new Integer(random.nextInt(m) + 1);
String str = num.toString();
if (subFacMap.containsKey(str) == false)
{
subFacMap.put(str, str);
strSubFacs[subFacMap.size()-1]=str;
}
} StringBuffer sbr = new StringBuffer();
sbr.append(strSubFacs[0]);
for (int i = 1; i < strSubFacs.length; i++)
{
sbr.append("," + strSubFacs[i]);
}
strFac = sbr.toString(); if (facMap.containsKey(strFac) == false)
{
facMap.put(strFac, strFac);
strFacs[facMap.size()-1]=strFac;
}
}
return strFacs;
}只是实现了功能,效率不太高,由于用的是取随机数,越到后面越慢。