-
Javaにおける部分集合の合計問題
Javaで部分集合和問題を解こうとしています。ブログで解決策を見つけたのですが、正しく理解できていません。コードとその動作について教えていただけませんか?
コードは以下の通りです。def subset_sum(set, n, sum):
sum == 0 の場合:
True を返す
n == 0 の場合:
False を返す
set[n – 1] > sum の場合:
subset_sum(set, n – 1, sum)
を返す subset_sum(set, n – 1, sum) または subset_sum(set, n – 1, sum – set[n – 1]) を返すdef main():
set = [1, 2, 3, 4, 5]
n = len(set)
sum = 10
print(subset_sum(set, n, sum))if __name__ == “__main__”:
main()
誰かコード内の次の部分を説明できますか:subset_sum() 関数は何をしますか?
再帰呼び出しはどのように機能しますか?
アルゴリズムの時間計算量と空間計算量はどれくらいですか?
何かご教示いただけると幸いです。ありがとうございます!コードの出力も添付しました。Trueです。これは、指定された配列のサブセットが、指定された目標値の合計と一致することを意味します。
注: 無関係なリンクはスパムとしてモデレーターによって削除されました。
- このトピックはkees_bによって 2 年 1 か月前に変更されました。
- このトピックはkees_bによって 2 年 1 か月前に変更されました。
Javaにおける部分集合の和の問題 - TechRepublic

Javaにおける部分集合の和の問題 - TechRepublic