FOR複数と時間の複雑さを改善するための最良の方法は何です巨大な入力)私は7 "FOR" LOOPSを持ってしまったので、私はプログラミングの新種であることをお勧めできます、これらのループを減らすための最良の方法は何ですか。ループは次のようにします。
ループ1:すべての空間で入力を分割し、String配列
ループ2に各値を代入:はintに文字列を変換とのint型バージョンに各int値を割り当て計算
ループ3を可能にする配列、:クエリ入力用繰り返しループ1が、今回
ループ4: REPEATループ2、今回クエリ入力用
ループ5: OUTERループはovに行くえー、各Q
ループ6:ループ5の内部ループ1の各配列値の上に移動して、CURRクエリ値とCURR値を合計する
ループ7:更新の上に行くためのループ5の内部ループ2配列の値とそれらの絶対値を最初に取得することによってそれらを合計します。
は(しかし、私がタイムアウトにすべてのテストに合格しない、私はJavaとI出力正しい値に<strong><a href="https://www.hackerrank.com/challenges/playing-with-numbers/problem" rel="nofollow noreferrer">THIS</a></strong><strong>Hackerrank</strong>問題を解決しようとしていますループ
です。非常に多くのループの後、複雑さは災害です。任意のアイデアをどのように改善するのですか?
これは、配列内のすべての数字が陽性であれば簡単です。この解決策は、各クエリの後にどの数字が正になるかを追跡することとおそらく関係します。確かに – fgb
。あなたはそれらをクエリ値で合計した後、内部にあるものを合計する前にabs値でそれらをすべて正の値にする必要があります。 –