非負の整数を考えると numRowsの数、最初の発生 numRowsの数 パスカルの三角形のを。
パスカルの三角形において、各数値は、直接上記2つの数の合計です。
例:
INPUT :. 5
出力:
[
。[1]、
[1,1]、
[1,2,1]、
[1,3,3,1]、
[1,4,6,4,1]
]
は非常に基本的なトピックCまたはC ++言語を学ぶための最初の大学は、質問を行使します。主な成果は、二次元動的配列のより理解していることです。
方法:現在のレイヤーの値を計算するために、ラベルスライド、取得層を算出するために必要なデータの層を定義します。
クラス解決{ パブリック: ベクトル <ベクトル< INT >>生成する(INT numRowsの数){ 場合(numRowsの数< 1) リターン{}。 もし(numRowsの数== 1)リターン {{ 1 }}。 もし(numRowsの数== 2)リターン {{ 1 }、{ 1、1 }}。 ベクトル <ベクトル< int型 >> 結果(numRowsの数); 結果[ 0 ] .push_back(1つの)。 結果[ 1 ] .push_back(1 )。 結果[ 1 ] .push_back(1 )。 int型のカウンタ= 2 ; 一方(カウンタ< numRowsの数){ int型 TAG1 = 0、TAG2 = 1 。 結果[カウンタ] .push_back(1 )。 ながら、(1 ) { [カウンタ] .push_back(結果[カウンター結果 - 1 [TAG1] +結果[カウンター- ]を1 ] [TAG2])。 TAG1 ++ ; TAG2 ++; もし(TAG2> =結果[反1 ] .size()){ もたらす[カウンタ] .push_back(1 )。 破ります; } } カウンタ ++ 。 } 戻り値の結果; } }。