zoukankan      html  css  js  c++  java
  • LeetCode Array Easy 118. Pascal's Triangle

    Description

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


    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]
    ]
     

    题目描述,给定一个数量,输出一个帕斯卡三角。

    分析: 第一和第二的时候,为全1 后面的除了第一位和最后一位是1 其他的为上面的对应的相邻的两个数的和

    C#代码如下:

    public IList<IList<int>> Generate(int numRows)
            {
                List<IList<int>> result = new List<IList<int>>(numRows);
                int index = 0;
                while(index < numRows)
                {
                    IList<int> temp = new List<int>();
                    if (index == 0 || index == 1)//第一行和第二行
                    {
                        for (int i = 0; i <= index; i++)
                            temp.Add(1);
                    }
                    else
                    {
                        temp.Add(1);//在第一位加1
                        IList<int> preTemp = result[index - 1];
                        for (int i =0; i < preTemp.Count-1; i++)//填充中间的数值
                        {
                            int val = preTemp[i] + preTemp[i+1];
                            temp.Add(val);
                        }
                        temp.Add(1);//在最后一位加1
                    }
                    result.Add(temp);
                    index++;
                }
                return result;
            }

     

  • 相关阅读:
    费马小定理
    Big Number阶乘位数计算(斯特林公式)
    V
    矩阵快速幂求斐波那契
    奇迹
    缘分
    求导
    拓扑排序
    线段树
    单调栈
  • 原文地址:https://www.cnblogs.com/c-supreme/p/9524799.html
Copyright © 2011-2022 走看看