LeetCode-探索-初级算法-其他-4. 帕斯卡三角形(个人做题记录,不是习题讲解)

LeetCode-探索-初级算法-其他-4. 帕斯卡三角形(个人做题记录,不是习题讲解)

LeetCode探索-初级算法:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/

  1. 帕斯卡三角形
  • 语言:java

  • 思路:杨辉三角,就下一层的等于上一层的相加.

  • 代码(1ms):

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> res = new ArrayList();
            for(int i = 0; i < numRows; ++i){
                List<Integer> mem = new ArrayList();
                res.add(mem);
                mem.add(1);
                if(i > 1){
                    for(int j = 1; j < res.get(i-1).size(); ++j){
                        mem.add(res.get(i-1).get(j) + res.get(i-1).get(j-1));   
                    }
                }
                if(i > 0)
                    mem.add(1);
            }
            return res;
        }
    }
    
  • 参考代码(0ms):基本是一样的

    class Solution {
        public List<List<Integer>> generate(int numRows) {
            List<List<Integer>> list = new ArrayList<List<Integer>>();
            int [][] res = new int[numRows][numRows];
            for(int i=0;i<numRows;i++){
                List<Integer> rowList = new ArrayList<Integer>();
                for(int j=0;j<=i;j++){
                    if(j==0||j==i){
                        res[i][j]=1;
                    }else{
                        res[i][j]=res[i-1][j-1]+res[i-1][j];
                    }
                    rowList.add(res[i][j]);
                }
                list.add(rowList);
                
            }
            return list;
        }
    }
    

你可能感兴趣的:(LeetCode,原创,非讲解)