利用js实现杨辉三角队列

所谓‘杨辉三角’,如下图:

其分布直观上很清晰明了,但在用编程语言实现这一图案时,方法各有异同,在s实现‘杨辉三角’代码如下:

    // param: max 行数
    function triangles(max) {
      var arr = [1];
      var result = [];
      var n = 0;
      for (; n < max; n++) {
        var currentArr = arr;
        result.push(currentArr);
        var list = [];
        arr.push(0);
        for (var i = 0; i < arr.length; i++) {
          if ((i - 1) < 0) {
            list.push(0 + arr[i]);
          } else {
            list.push(arr[i - 1] + arr[i]);
          }
        }
        arr = list;
      }
      for (var i = 0; i < result.length; i++) {
        result[i].pop();
      }
      return result;
    }
    var result = triangles(10);
    console.dir(result);

此处需要注意的一点,因为数组为引用类型,因此在最后需要给result中的每一项去除最后一位。

所得到的结果如下:

完。

猜你喜欢

转载自blog.csdn.net/weixin_37861326/article/details/81985058
今日推荐