leetcode 输出 杨辉三角形 或者 帕斯卡三角形

Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.

leetcode 输出 杨辉三角形 或者 帕斯卡三角形_第1张图片
In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 5
Output:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

leetcode 输出 杨辉三角形 或者 帕斯卡三角形_第2张图片

 

    function generate($numRows) {
        $re=[];
        for($i=1;$i<=$numRows;$i++){
          if($i==1){
              $num=[1];
          }else if($i==2){
              $num=[1,1];
          }else{
              foreach($num as $k=>$v){
                  $n=$k+1;
                  if(isset($num[$n])){
                       $mid[$k]=$v+$num[$n]; 
                  }
              }
                 $num=$mid;
                     array_push($num,1);
                     array_unshift($num,1);
          }
            array_push($re,$num);
        }
        return $re;
    }

 

你可能感兴趣的:(PHP)