zoukankan      html  css  js  c++  java
  • 数组处理:118

    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]
    ]


    public class Solution {//逐个算每个值,每行的第一个和最后一个都是1,其余的 K(i)(j)=K(i-1)(j-1)+K(i-1)(j) 
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> listReturn = new ArrayList<List<Integer>>();
            for(int i=0;i<numRows;i++){
                List<Integer> tempList= new ArrayList<Integer>();
                 for(int j=0;j<=i;j++){
                       if(j==0||j==i)tempList.add(1);
                       else tempList.add(listReturn.get(i-1).get(j-1)+listReturn.get(i-1).get(j));
                   }
                listReturn.add(tempList);
            }
            return listReturn;
        }
    }

    每行都可以这么算,没必要第1行、第二行特殊处理,像这样:

    public class Solution {//算法1击败了36%,这个击败了2%,= = 
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> listReturn = new ArrayList<List<Integer>>();
            for(int i=0;i<numRows;i++){
                List<Integer> tempList= new ArrayList<Integer>();
                if(i==0)tempList.add(1);
                if(i==1){
                    tempList.addAll(listReturn.get(0));
                    tempList.add(1);
                }
                if(i>=2){
                   for(int j=0;j<=i;j++){
                       if(j==0)tempList.add(1);
                       else if(j==i)tempList.add(1);
                       else tempList.add(listReturn.get(i-1).get(j-1)+listReturn.get(i-1).get(j));
                   }
                 }
                
                listReturn.add(tempList);
            }
            return listReturn;
        }
    }
  • 相关阅读:
    Redis学习笔记1:Redis介绍
    《设计模式之禅》读书笔记1:单一职责原则
    如何在Word中设置其中一页为横向(Office 2013)
    Linux CentOS7 升级内核的方法
    升级openSSH
    Windows服务器杀掉端口的方法
    Linux 安装zlib
    Linux升级openssl
    Linux下安装Perl 5
    Linux 安装gcc
  • 原文地址:https://www.cnblogs.com/lucky-star-star/p/5054430.html
Copyright © 2011-2022 走看看