• LeetCode 118. 杨辉三角


    118. 杨辉三角

    给定一个非负整数numRows,生成杨辉三角的前numRows行。
    ![](https://www.hgnulb.cn/cnblogs-theme/image/blogimage/118-Pascal's Triangle.gif)

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

    示例
    输入: 5
    输出:

    [
         [1],
        [1,1],
       [1,2,1],
      [1,3,3,1],
     [1,4,6,4,1]
    ]
    

    Java 实现

    import java.util.ArrayList;
    import java.util.List;
    
    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> result = new ArrayList<List<Integer>>();
            for(int i=1;i<=numRows;i++){
                List<Integer> list = new ArrayList<Integer>();
                for(int j=1;j<=i;j++){
                    if (j==1||j==i) {   // 当列为 1,或者 行==列 的时候都为 1
                        list.add(1);
                    }else{
                        list.add(result.get(i-2).get(j-1)+result.get(i-2).get(j-2));
                    }
                }
                result.add(list);
            }
            return result;
        }
    }
    

    测试代码

    ```java import java.util.ArrayList; import java.util.List;

    public class Solution {
    public List<List> generate(int numRows) {
    List<List> result = new ArrayList<List>();
    for(int i=1;i<=numRows;i++){
    List list = new ArrayList();
    for(int j=1;j<=i;j++){
    if (j1||ji) { // 当列为 1,或者 行==列 的时候都为 1
    list.add(1);
    }else{
    list.add(result.get(i-2).get(j-1)+result.get(i-2).get(j-2));
    }
    }
    result.add(list);
    // 测试代码
    System.out.println(list);
    }
    return result;
    }
    // 测试主程序
    public static void main(String[] args) {
    Solution solution = new Solution();
    solution.generate(5);
    }
    }

    [1]
    [1, 1]
    [1, 2, 1]
    [1, 3, 3, 1]
    [1, 4, 6, 4, 1]

    </div>
    
    **参考资料**
    * [https://leetcode.com/problems/pascals-triangle/discuss/38141/My-concise-solution-in-Java](https://leetcode.com/problems/pascals-triangle/discuss/38141/My-concise-solution-in-Java)
    * [https://leetcode-cn.com/problems/pascals-triangle/description/](https://leetcode-cn.com/problems/pascals-triangle/description/)
    * [https://leetcode.com/problems/pascals-triangle/discuss/?orderBy=most_votes](https://leetcode.com/problems/pascals-triangle/discuss/?orderBy=most_votes)
  • 相关阅读:
    第12组 Alpha事后诸葛亮
    第12组 Alpha冲刺(6/6)
    第12组 Alpha冲刺(5/6)
    2019 SDN上机第4次作业
    2019 SDN阅读作业
    第12组 Alpha冲刺(4/6)
    第12组 Alpha冲刺(3/6)
    第12组 Alpha冲刺(2/6)
    2019 SDN上机第3次作业
    第10组 Alpha冲刺(4/6)
  • 原文地址:https://www.cnblogs.com/hgnulb/p/10043432.html
Copyright © 2020-2023  润新知