[ダイナミックプログラミング] leetcode 264醜い数II

問題:  https://leetcode.com/problems/ugly-number-ii

        醜い数は、5が最小、およびバックカレントポインタの最小値1つの動きとし、各乗算の後、得られた因子2、3を乗じた小さな醜い数だけ大きいです。(ベクターパッケージにもう少しゆっくり、そして限り4msのようなケースではありません)

クラス解決{
 パブリックINT nthUglyNumber(INT N){ 
        ベクトル < INT > DP(N + 1 )。
        DP [ 1 ] = 1 
        ベクター < INT > IDX { 111 }。
        ベクター < INT > NUMS { 235 }。
        以下のためにint型 I = 2 ; iが++; iが<= N  
        {
            ベクトルを <int型 > RES(nums.size());
            int型 MIN_NUM = INT_MAX。
            INT J = 0 ; J <nums.size(); J ++ 
            { 
                RES [J] = NUMS [J] * DP [IDX [J]。
                MIN_NUM = 分(MIN_NUM、RES [J])。
            } 
            のためのINT J = 0 ; J <nums.size(); J ++ 
            { 
                場合(RES [J] == MIN_NUM)
                { 
                    IDX [J] ++ 
            } ;
                }
            DP [I] = MIN_NUM。
        } 
        戻りDP [n]は、
    } 
}。

 

おすすめ

転載: www.cnblogs.com/fish1996/p/11331321.html