パスカルの三角形


Pascalの三角形の構成法による推論
リストの開始時と終了時のボックスは常に' 1 'に設定されます

最初の最初の2つのレベルの要素を追加していないと3番目のレベルからスタートを追加するプロセス

前のレベルの答えを追加する三角形の中心に新しい数字につながる

どのようにこの問題にアプローチするには?
  • 我々は、このレベルの各レベルの' i 'へのポインタを保つことができます
    三角形
  • また、私たちが気がつくならば、三角形のパターンで成長するセンターボックスがあります.
  • 注意レベルが';1 ';我々は';0 ';要素を前のレベルから追加する必要があります.
    レベル1では、0を加えることによって
    レベル2では
    レベル3では、2つの要素は、
    など
  • 私たちが' j '変数を持つことができます.
  • ここで' j 'は' zero 'で' i 'より初期化されます.
  • ' i 'と' j 'の値はこの問題で複数の目的を果たす
  • 'iは各レベルを示し、「j」は前の要素を加算することによって形成される要素を示します.
  • 'それは' 0 'から始まり、各レベルでボックスを作成します.
  • 答えはリストI . E(リストのリスト)に格納されます.以前のレベルデータを取得し、これを追加して現在の値を生成できます.
  • コード
       for(int i=1; i<=numRows; i++){
                for(int j=0; j<i; j++){
    
  • 最初と最後のボックスのために
  • for(int i=1;i<=numRows;i++){      
        for(int j=0; j<i; j++){
          if(j==0 || j==i-1){  // add '1' to first box and last box
              curr.add(1);  // Add to list curr
                   }
    
    - ( 1 : i - 1 )の範囲のボックス用.
    for(int i=1;i<=numRows;i++){
               List<Integer> curr = new ArrayList<>();       
               for(int j=0;j<i;j++){
                   if(j==0 || j==i-1){
                       curr.add(1);
                   }
                   else{
    curr.add(levels.get(i-1).get(j)+ levels.get(i-1).get(j-1)); // to form new elements by  adding values from previous levels
               }
            }
    
    ドライ・ラン




    閉じるこの動画はお気に入りから削除されています.これは私がこのような新しい記事を学び、作成するのを助けるでしょう.
    ありがとう