このアルゴリズムはDPを使用していますか?

Sthitaprajna Mishra:

だから私は最近動的プログラミング(DP)を学んでいて、次の問題に遭遇したとき、私はDPを使用することに決めましたが、私はアルゴリズムの初心者なので、これがDPの有効な例であるかどうかわかりません。

問題:

配列numsが与えられます。配列の実行合計をrunningSum [i] = sum(nums [0]…nums [i])として定義します。numの現在の合計を返します。

Example 1:

Input: nums = [1,2,3,4]
Output: [1,3,6,10]
Explanation: Running sum is obtained as follows: [1, 1+2, 1+2+3, 1+2+3+4].

これは私の「DP」ソリューションです。

class Solution {
    public int[] runningSum(int[] nums) {
        int[] arr = new int[nums.length];
        
        int sum = 0;
        
        for(int i = 0; i < nums.length; i++){
            arr[i] = nums[i] + sum;
            sum += nums[i];
        }
        
        return arr;
    }
}
スティーブンC:

ウィキペディアによると

動的プログラミングを適用するために問題に必要な2つの重要な属性があります。それは、最適な部分構造と重複する部分問題です。重複しない副問題の最適解を組み合わせて問題を解決できる場合、その戦略は「分割統治」と呼ばれます。これが、マージソートとクイックソートが動的プログラミングの問題として分類されない理由です。

あなたのケースでは、次の戦略を実装しています:

  sum_all(array) = array[0] + sum_all(array[1..])

各ステップには1つの副問題しかないため、副問題の重複はありません。確かに、これは分割統治の退化した形です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonのsorted()はどのアルゴリズムを使用していますか?

分類Dev

「BigOh」表記を使用してこのアルゴリズムを分析するにはどうすればよいですか。また、このアルゴリズムの実行時間を改善するにはどうすればよいですか。

分類Dev

ことばの梯子、Javascript:どのアルゴリズムとデータ構造を使用していますか?

分類Dev

JavaのSetはUnionFindアルゴリズムを実装していますか?

分類Dev

このコードはこのアルゴリズムにどのように関係していますか(欲張りアルゴリズム/ MST)

分類Dev

ByteBuddyのElementMatchers#nameStartsWithはどのアルゴリズムを使用していますか?

分類Dev

このアルゴリズムは何と呼ばれていますか?(SSSP)

分類Dev

X509Certificate2は特定の鍵交換アルゴリズムを使用していますか?

分類Dev

このアルゴリズムは機能しますか?

分類Dev

JS:このアルゴリズムは奇妙なことをしています(分析)

分類Dev

無限(終わりのない)アルゴリズムを正しいアルゴリズムと呼ぶことはできますか?

分類Dev

無限(終わりのない)アルゴリズムを正しいアルゴリズムと呼ぶことはできますか?

分類Dev

私のアルゴリズムは未解決の答えを返しています。これを修正するにはどうすればよいですか?

分類Dev

react diffアルゴリズムはどのようにしてこの仮定を見つけますか?

分類Dev

Javaのパラメーターとしてアルゴリズムを渡すことはできますか?

分類Dev

ぼかしアルゴリズムがわかっている場合、画像のぼかしを元に戻すことはできますか?

分類Dev

このアルゴリズムは切り捨てエラーを累積しますか?

分類Dev

Tesseract OCRではどのしきい値(2値化)アルゴリズムが使用されていますか?

分類Dev

新しいWindows10拡大鏡ではどのアルゴリズムが使用されていますか?

分類Dev

ここでのアルゴリズムで何が起こっているのか、コードはCの再帰問題に関連していますか?

分類Dev

このアルゴリズムは、プリムのアルゴリズムと同様に、9行目から10行目で何をしますか?

分類Dev

この「^ =」演算子は、対になっていない数のアルゴリズムを見つけるために何をしますか?

分類Dev

このcodewarsアルゴリズムが関数のみを使用して機能しないのはなぜですか?

分類Dev

TensorFlowはどのソートアルゴリズムを使用しますか?

分類Dev

qsort()はどのソートアルゴリズムを使用しますか?

分類Dev

Bitmap.smoothingはどのアルゴリズムを使用しますか?

分類Dev

SSLはどの対称鍵アルゴリズムを使用しますか?

分類Dev

RNGCryptoServiceProviderはどの疑似乱数生成アルゴリズムを使用しますか?

分類Dev

私のJavacardはどの暗号化アルゴリズムをサポートしていますか

Related 関連記事

  1. 1

    Pythonのsorted()はどのアルゴリズムを使用していますか?

  2. 2

    「BigOh」表記を使用してこのアルゴリズムを分析するにはどうすればよいですか。また、このアルゴリズムの実行時間を改善するにはどうすればよいですか。

  3. 3

    ことばの梯子、Javascript:どのアルゴリズムとデータ構造を使用していますか?

  4. 4

    JavaのSetはUnionFindアルゴリズムを実装していますか?

  5. 5

    このコードはこのアルゴリズムにどのように関係していますか(欲張りアルゴリズム/ MST)

  6. 6

    ByteBuddyのElementMatchers#nameStartsWithはどのアルゴリズムを使用していますか?

  7. 7

    このアルゴリズムは何と呼ばれていますか?(SSSP)

  8. 8

    X509Certificate2は特定の鍵交換アルゴリズムを使用していますか?

  9. 9

    このアルゴリズムは機能しますか?

  10. 10

    JS:このアルゴリズムは奇妙なことをしています(分析)

  11. 11

    無限(終わりのない)アルゴリズムを正しいアルゴリズムと呼ぶことはできますか?

  12. 12

    無限(終わりのない)アルゴリズムを正しいアルゴリズムと呼ぶことはできますか?

  13. 13

    私のアルゴリズムは未解決の答えを返しています。これを修正するにはどうすればよいですか?

  14. 14

    react diffアルゴリズムはどのようにしてこの仮定を見つけますか?

  15. 15

    Javaのパラメーターとしてアルゴリズムを渡すことはできますか?

  16. 16

    ぼかしアルゴリズムがわかっている場合、画像のぼかしを元に戻すことはできますか?

  17. 17

    このアルゴリズムは切り捨てエラーを累積しますか?

  18. 18

    Tesseract OCRではどのしきい値(2値化)アルゴリズムが使用されていますか?

  19. 19

    新しいWindows10拡大鏡ではどのアルゴリズムが使用されていますか?

  20. 20

    ここでのアルゴリズムで何が起こっているのか、コードはCの再帰問題に関連していますか?

  21. 21

    このアルゴリズムは、プリムのアルゴリズムと同様に、9行目から10行目で何をしますか?

  22. 22

    この「^ =」演算子は、対になっていない数のアルゴリズムを見つけるために何をしますか?

  23. 23

    このcodewarsアルゴリズムが関数のみを使用して機能しないのはなぜですか?

  24. 24

    TensorFlowはどのソートアルゴリズムを使用しますか?

  25. 25

    qsort()はどのソートアルゴリズムを使用しますか?

  26. 26

    Bitmap.smoothingはどのアルゴリズムを使用しますか?

  27. 27

    SSLはどの対称鍵アルゴリズムを使用しますか?

  28. 28

    RNGCryptoServiceProviderはどの疑似乱数生成アルゴリズムを使用しますか?

  29. 29

    私のJavacardはどの暗号化アルゴリズムをサポートしていますか

ホットタグ

アーカイブ