Java教程

[简单] 118. 杨辉三角

本文主要是介绍[简单] 118. 杨辉三角,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://leetcode-cn.com/problems/pascals-triangle/

 

对,没有灵魂的代码:

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

        List<Integer> prevRow = new ArrayList<>();
        for (int i = 1; i <= numRows; i++) {
            List<Integer> curRow = new ArrayList<>();
            if (i == 1) {
                curRow.add(1);
            }
            else {
                for(int n = 0; n < i; n++) {
                    if(n == 0 || n == i -1) {
                        curRow.add(1);
                    }
                    else {
                        Integer val = prevRow.get(n) + prevRow.get(n - 1);
                        curRow.add(val);
                    }
                }
            }

            a.add(curRow);
            prevRow.clear();// 清除上次记录.
            for (Integer e : curRow) {
                prevRow.add(e);
            }
            //curRow.clear();
        }

        return a;
    }
}
View Code

 

这篇关于[简单] 118. 杨辉三角的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!