1
次のコードの実行時の複雑さを判断しようとします。私はT(n) = n * T(n-1) + n
とT(0) = 1
が出てきましたが、それが正しいかどうか、それを解決する方法がわかりません。ループ内の再帰の実行時の複雑さ
private void myFunction(int[] nums, int startIndex, int target) {
if (target == 0) {
// do something
}
if (target <= 0 || start > nums.length) {
return;
}
for (int i = startIndex; i < nums.length; i++) {
myFunction(nums, i+1, target-nums[i]);
}
}
myFunction(nums, 0, target);
音が正しい、多かれ少なかれ –
Aheum、+ nを取得しない –
なぜこのような多くのパラメータが必要ですか?いくつかのコメントをコードに入れてください – User27854