LeetCode杨辉三角

又是老生常谈的杨辉三角,我感觉这个题在各种语言里应该都是最常见基础的考题吧(虽然弟弟的我并没有很快算出来) 最后在一定的借鉴下也算码出来了(我好菜啊)

题目:

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

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

输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]

解答:

不难看出这是个二维数组,我的思路也是采用二维数组的方法,应该很利于新手理解

错误示范:

class Solution {
public List generate(int numRows) {
int[][] array = new int[numRows][numRows];
List list = new ArrayList();

    for (int i = 0; i < numRows; i++) {
    array[i][0] = 1;
       
        list.add(array[i][0]);
        for (int j = 1; j <= i; j++) {
            array[i][j] = array[i-1][j-1] +array[i-1][j];
            list.add(array[i][j]);
	    }
        
    }
    return list;
}

}
这是我一开始想出来的,运行后发现结果是一个一维数组,是因为所有的元素都是直接add进去的,而不是以分开的数组的形式

以下是正确答案:
在这里插入图片描述
千里之行始于足下,希望2020继续加油,能找到合适的工作(此处@端点网络)。
coder们新年快乐

2020.1.1

发布了26 篇原创文章 · 获赞 1 · 访问量 491

猜你喜欢

转载自blog.csdn.net/Vince_Wang1/article/details/103789761