LeetCode - 118 -杨辉三角 -Java实现

x33g5p2x  于2021-12-09 转载在 Java  
字(0.6k)|赞(0)|评价(0)|浏览(242)

程序

class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> listNum = new ArrayList<>();

        List<Integer> List1 = new ArrayList();
        List1.add(1);
        listNum.add(List1);// 程序执行这里才是真正的将list1 这一行数据,加载到listNum中 
        for(int i =1;i<numRows;i++){
            List<Integer> list = new ArrayList<>();// 每一行都是一个数组
            list.add(1);// 每行的第一个元素都是1 

            List<Integer> preRow = listNum.get(i-1);// 获取前一行的数据,因为中间的元素,是根据上一行的数据来计算的
            for(int j =1;j<i;j++){
                // 中间操作
                int num = preRow.get(j) + preRow.get(j-1);
                list.add(num);
            }
            list.add(1);// 每一行的末尾元素都是1
            listNum.add(list);// 将这行数据,存入 listNum 的对象中
        }
        return listNum;
    }
}

图解

对数组方面的知识,不是很了解的,可以参考这篇文章数组的定义与使用

效果图

相关文章

最新文章

更多