4
需要5串假設有一個string s=abcd
從組合
我想第五串包括a
,b
,c
,d
,這是adbc
。 但我也得到了所有我不需要的答案。
那麼如何在第5次執行後停止此方法?
import java.util.Arrays;
import java.util.Scanner;
class Test{
long times;
int n=1;
public static void main(String[] args) {
Test tm=new Test();
Scanner in=new Scanner(System.in);
int t=Integer.parseInt(in.nextLine());
while(t!=0){
String s=in.nextLine();
char ch[]=s.toCharArray();
Arrays.sort(ch);
String sort=String.valueOf(ch);
String ans;
long n=Long.parseLong(in.nextLine());
tm.times=n;
tm.permu("",sort);
t--;
}
}
private void permu(String prefix,String str) {
int len=str.length();
if(len==0){
if(n==times){
System.out.println(prefix);
}
else{
n++;
}
}
else{
for(int i=0;i<len;i++){
permu(prefix + str.charAt(i), str.substring(0, i) + str.substring(i+1, len));
}
}
}
}
其次是有任何網站,我可以讀到排列,組合以及計算和查找的排列組合和概率的概率......對於代碼的東西不是數學thing..ie我知道如何解決數學但我不能編碼它..無法爲它寫邏輯。
@ Itamar Green:謝謝.. 是否有任何內建的庫函數來停止一個方法..就像上面的一個像System.exit()雖然它會停止整個執行..就是這樣... .. 和第二個問題的任何鏈接??? – Fawkes
@Fawkes(首先,很好的名字)在一個問題中,不論問兩個不同的問題,還是要求非現場資源,都被認爲是脫離主題......所以我沒有回答這個問題。不過,我不明白爲什麼你需要停止該方法,因爲它的工作。 – ItamarG3
@ Itamar Green(謝謝):我不知道「兩個截然不同的問題」。 這個問題來自編碼競爭對手,這就是爲什麼我必須停止在第5 execution.there有另一個問題,我堅持了6個月combinatroics problem.thats爲什麼我問的參考資料。 – Fawkes