zoukankan      html  css  js  c++  java
  • Pascal's Triangle

    Given numRows, generate the first numRows of Pascal's triangle.

    For example, given numRows = 5,
    Return

    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]

    思路:杨辉三角形,解决这道题就是要知道什么是杨辉三角形。

    1. 杨辉三角以正整数构成,数字左右对称,每行由1开始逐渐变大,然后变小,回到1。
    2. n行的数字个数为n个。
    3. n行的第k个数字为组合数C_{n-1}^{k-1}
    4. n行数字和为2^{n-1}
    5. 除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和(也就是说,第n行第k个数字等于第n-1行的第k-1个数字与第k个数字的和)。这是因为有组合恒等式:C_{n}^{i}=C_{n-1}^{i-1}+C_{n-1}^{i}。可用此性质写出整个杨辉三角形。
    class Solution {
    public:
        vector<vector<int> > generate(int numRows) {
            vector<vector<int> > result;
            result.resize(numRows); //创建空间
            for(int i=0;i<numRows;i++)
            {
                for(int j=0;j<=i;j++)
                {
                    result[i].push_back(1);//首先将这些全部赋值为1
                }
            }
            for(int i=0;i<numRows;i++)
            {
                for(int j=1;j<=i-1;j++)//从第三行开始,进行,你懂的
                {
                    result[i][j]=result[i-1][j-1]+result[i-1][j];
                }
            }
            return result;
        }
    };
  • 相关阅读:
    09.安装Collabora Online服务
    08.nextcloud搭建
    07.安装及使用gitlub
    winmerge vs2010
    C#中时间计算汇总
    JS正则表达式大全 转
    js 验证正则
    js验证大全
    CSC 命令编译cs文件
    网站PV、UV以及查看方法(转)
  • 原文地址:https://www.cnblogs.com/awy-blog/p/3602785.html
Copyright © 2011-2022 走看看