Topcoder アルゴリズムの問題を解決し始めたばかりで、Java で SRM 466 Div 2 LotteryTicket 問題用にこのアルゴリズムを作成しました。
私は時間の複雑さが苦手なので、誰かがこのアルゴリズムの時間の複雑さを段階的に計算する方法を説明できれば.
public static String buy1(int price,int...b){
int sum=0; String stat="IMPOSSIBLE";
for(int i=0;i<b.length;i++)
sum=sum+b[i];
if(sum==price)
return "POSSIBLE";
if(b.length>1){
stat=buy1(price,Arrays.copyOfRange(b,0,b.length-1));
stat=buy1(price,Arrays.copyOfRange(b,1,b.length));
}
return stat;
}