zoukankan      html  css  js  c++  java
  • LeetCode--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]
    ]

    题目描述:给出行号,输出杨辉三角的前N行。

    题目解析:要注意特殊情况,当输入的是0时,应返回空的列表;然后分1和大于1两种情况分别添加。

    代码如下:

    public class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> l = new ArrayList<List<Integer>>();
            if(numRows<=0)
                return l;
            if(numRows==1){
                ArrayList<Integer> li = new ArrayList<Integer>();
                li.add(1);
                l.add(li);
                return l;
            }
            
            List<Integer> li = new ArrayList<Integer>();
            li.add(1);
            l.add(li);//第一行事先放入
            for(int i=2; i<=numRows; i++){
                List<Integer> l1 = new ArrayList<Integer>();
                l1.add(1);  //开始加1
                List<Integer> lt = l.get(i-2);
                for(int j=0; j<lt.size()-1; j++){
                    int t = lt.get(j)+lt.get(j+1);
                    l1.add(t);
                }
                l1.add(1);  //最后加1
                l.add(l1);
            }
            return l;
        }
    }
  • 相关阅读:
    【uTenux实验】事件标志
    【uTenux实验】信号量
    【uTenux实验】任务管理
    【uTenux实验】写在开始实验之前
    Git撤销add、commit
    vim笔记
    Git使用方法(精心整理,绝对够用)
    git笔记三
    git笔记记录
    git笔记
  • 原文地址:https://www.cnblogs.com/little-YTMM/p/4528772.html
Copyright © 2011-2022 走看看