下記のように2重ループ処理をして、全探索をします。全ての組み合わせの合計値を順次算出して、最大値を更新していきます。getMax()については、別途関数として実装しています。サンプルコードを参照してください。計算量はo(n^2)になりますね。maxSum;}スポンサーリンクkadaneアルゴリズム参考:[c言語]ナップザック問題を動的計画法でコーディング最大部分配列問題の解法としては、kadaneアルゴリズムが有名ですね。programming)ですね。一重ループで0番目からインクリメントしていき、現在位置より手前の連続した部分配列の最大値を更新していきます。全体での部分配列の最大値を更新していきます。計算量はo(n)になり、全探索に比べてぐっと計算量が削減できます。maxSum;}サンプルコード下記がサンプルコードになります。いくつかの配列のパターンで試してみました。(一つ以外はコメントアウトしています。0;}下記が実行結果になります。