プログラミングアルゴリズム(6)

 

 

 

クラスソリューション:
     DEF cuttingRope(自己、N:整数) - > INT:
        DP = [0 ため _ 範囲(N + 1)]   DP [0] DP [1]其实没用 
        DP [2] = 1   初始化 
        RES = -1 のための I における範囲(3、N + 1 のための J :範囲(I)
                DP [I] = MAX(DP [i]は、MAX((I - J)* J、J * DP [ I - J]))
         戻り DP [n]は、
        
明らかDP [ 2 ]に等しい  1 から外側のループ  3  N停止までトラバース。jから内側のループ  1  ( - J I)トラバースは、私は、それは私がJ +に分割することができる数を表し前まで停止されます。
しかしijは必ずしもDPよりも大きくないのでJ *(IJ)は、必ずしも最大の生成物である[IJ](最大積の和の整数倍にIJ分割)、最大値DPとして選択する。ここで、[I]結果。
 
 
 

おすすめ

転載: www.cnblogs.com/topass123/p/12636902.html