パスカル三角形-II

/ ** 
*指定されたインデックスk、パスカルの三角形のk番目の行を返す
=たとえば、K * 3、。
*戻り値[1,3,3,1]。
*注:
*あなただけにあなたの最適化アルゴリズムを使用することができます?O(k)は、余分なスペース、それ
*
*パスカルの三角形の行でTHのインデックスkを考えると、k個のリターン。
*のための実施例は、所定のk = 3、
*リターン[1,3,3,1]。
*注:
あなただけO(k)が余分なスペースを使用するには、*あなたのアルゴリズムを最適化できますか?
* /

java.util.ArrayListのインポートの; 

/ ** 
 *指定されたインデックスK、パスカルの三角形のk番目の行を返す
 =たとえば、K * 3、
 *戻り値[1,3,3,1]は。
 *注:
 *ことができますあなたの最適化アルゴリズムは、やるだけの余分なスペースO(k)を使用するには?
 * 
 *パスカルの三角形の行でTHのインデックスkを考えると、k個のリターン。
 *のための実施例は、所定のk = 3、
 *リターン[1,3,3 、1]。
 *注:
 *?あなただけO(k)が余分なスペースを使用するようにアルゴリズムを最適化することができます
 * / 

publicクラスMain54 { 
    公共の静的な無効メイン(文字列[] args){ 
        System.out.printlnは(Main54.getRowを( 3)); 
    } 

    パブリック静的のArrayList <整数>のgetRow(INT rowIndexプロパティ){ 
        IF(rowIndexプロパティ== 0){ 
        のArrayList <のArrayList <整数リストのArrayList >> <>()=新しい新規。
        ArrayList <整数>アレイ=新規のArrayList <>(); 

            配列を返します。
        } 

        ため(INT i = 0; I <rowIndexに、I ++){ 
            のArrayList <整数> NEWARRAY =新規のArrayList <>(); 
            IF(I> 1){ 
                アレイ= list.get(I-1)。
            } 

            のための(int型J = 0であり、j <= I; J ++){ 
                IF(J == 0 || I == j)は{ 
                    newArray.add(1)。
                }他{ 
                    newArray.add(array.get(J-1)+ array.get(J))。

                } 
            } 
            list.add(NEWARRAY)。
        } 
        戻りlist.get(はlist.size() - 1)。
    } 
}

  

おすすめ

転載: www.cnblogs.com/strive-19970713/p/11356327.html