zoukankan      html  css  js  c++  java
  • 768. 杨辉三角

    768. 杨辉三角

    中文English

    给一整数 n, 返回杨辉三角的前 n 行

    样例

    样例 1:

    输入 : n = 4
    输出 :
    [
     [1]
     [1,1]
     [1,2,1]
     [1,3,3,1]
    ]
    

    注意事项

    1. 0 <= n <= 20
    2. 杨辉三角也被叫做帕斯卡三角形. --(Wikipedia)
    class Solution:
        """
        @param n: a Integer
        @return: the first n-line Yang Hui's triangle
        """
        '''
        大致思路:
        1.前两个可以固定,后面的数可以开始计算正上方两个数之和
        2.最左边和最右边固定为1(从第三个开始,按照一定规律)
        '''
        def __init__(self):
            self.res = [[1],[1,1]]
    
        def  calcYangHuisTriangle(self,n):
            if n==0:
                return []
            elif n == 1:
                return [[1]]
            elif n == 2:
                return self.res
                
            ##给出两个固定值
            for i in range(2,n):
                add_res = self.getnextres(i)
                self.res.append(add_res)
            return self.res
    
        ##给出一个方法,可以求得下一个数组,num为第几个(每调用一次都会append到self.res里面)
        def getnextres(self,num):
            ##本身是从1开始计数的,但是数组的话是从0开始,所以需要设置初始值
            add_res = [1]
            for j in range(len(self.res[num-1])-1):
                add_res.append(self.res[num-1][j]+self.res[num-1][j+1])
            add_res.append(1)
            return add_res
  • 相关阅读:
    Java中File类的使用
    Java集合中Comparator和Comparable接口的使用
    ODP.NET
    DllImport
    .net 项目与网站区别
    sqlserver 2012 分页
    sqlserver 分页
    ORACLE 中ROWNUM
    mysql 分页优化
    mysql windows 安装
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12546063.html
Copyright © 2011-2022 走看看