118. 杨辉三角

118. 杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

在杨辉三角中,每个数是它左上方和右上方的数的和。

示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]
class Solution {
    public List<List<Integer>> generate(int row) {
        List<List<Integer>> lists = new LinkedList<>();
        if(row == 0) return lists;
        List<Integer> list = new LinkedList<>();
        list.add(1);
        lists.add(list);
        for(int i = 0;i < row - 1;i++){
            List<Integer> temList = lists.get(i);
            List<Integer> tem = new ArrayList<>();
            tem.add(1);
            for(int j = 0;j < temList.size() - 1;j++){
                tem.add(temList.get(j) + temList.get(j + 1));
            }
            tem.add(1);
            lists.add(new ArrayList<>(tem));
        }
        return lists;
    }
}

原文地址:https://www.cnblogs.com/zzytxl/p/12687128.html

时间: 2024-11-06 07:18:27

118. 杨辉三角的相关文章

leetcode 118 杨辉三角 python

杨辉三角 一开始自己使用的方法 1 class Solution: 2 def generate(self, numRows): 3 """ 4 :type numRows: int 5 :rtype: List[List[int]] 6 """ 7 if numRows == 0: 8 return [] 9 elif numRows == 1: 10 return [[1]] 11 elif numRows == 2: 12 return [

LeetCode【118. 杨辉三角】

首先,这个杨辉三角用C语言很好写,关键就在于明白,第一个与最后一个永远是1,同时,第三行开始,中间的数就是上方两个相加. a[ i ][ j ] = a[ i - 1 ][ j - 1 ]+a[ i - 1 ][ j ] 对于JAVA List< List<Integer> > res = new ArrayList< List<Integer> >(); List<Integer> t = new ArrayList<>(); Li

C语言118. 杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]] 下面是我的常规解法:没有用到指针,但是力扣上的返回类型是这样的 :int** generate(int numRows, int* returnSize, int** returnColumnSizes) #include <stdio.h>int mai

Leecode刷题之旅-C语言/python-118杨辉三角

/* * @lc app=leetcode.cn id=118 lang=c * * [118] 杨辉三角 * * https://leetcode-cn.com/problems/pascals-triangle/description/ * * algorithms * Easy (60.22%) * Total Accepted: 17.6K * Total Submissions: 29.2K * Testcase Example: '5' * * 给定一个非负整数 numRows,生成

leetCode 118. Pascal&#39;s Triangle 数组 (杨辉三角)

118. 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] ] 题目大意: 输入行数,输出如上图所示的数组.(杨辉三角) 思路: 用双vector来处理当前行和下一行. 代码如下: cla

LeetCode 118. Pascal&#39;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] ] 题目标签:Array 题目给了我们一个numRows,让我们写出这个行数的杨辉三角.来观察一下原题例子,5行的话,第一行只有1,第二行,只有1,第三行,除去第一个1和最后一个1,中间的都是上一行的两边

[LeetCode] 118. Pascal&#39;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] ] 杨辉三角形,又称贾宪三角形.帕斯卡三角形.海亚姆三角形.巴斯卡三角形,是二项式系数在的一种写法,形似三角形,在中国首现于南宋杨辉的<详解九章算术>得名,书中杨辉说明是引自贾宪的<释锁算术>

[leetcode]118,119PascalsTriangle,杨辉三角1,2

杨辉三角1Given 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]]构建杨辉三角,从第一行开始构建,比较简单 public List<List<Integer>> generate(int numRows) { List<List<Integer

[LeetCode] 119. Pascal&#39;s Triangle II 杨辉三角 II

Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3,3,1]. Note:Could you optimize your algorithm to use only O(k) extra space? 118. Pascal's Triangle 的拓展,给一个索引k,返回杨辉三角的第k行. 解法:题目要求优化到 O(k) 的空间复杂,那么就不能把每