【leetcode】力扣算法:杨辉三角 java语言解题
生活随笔
收集整理的這篇文章主要介紹了
【leetcode】力扣算法:杨辉三角 java语言解题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
118. 楊輝三角
給定一個非負整數 numRows,生成「楊輝三角」的前 numRows 行。
在「楊輝三角」中,每個數是它左上方和右上方的數的和
自己對于此題的理解:
1.給一個整數n,根據算法計算出前n行的楊輝三角分布
2.楊輝三角的計算方法是 第i個元素=前一行的i-1元素 + 前一行的第i個元素!!!!!!!!
3.此題也屬于是動態規劃類型
思路:
每個數字等于上一行的左右兩個數字之和,可用此性質寫出整個楊輝三角。即第 nn 行的第 ii 個數等于第 n-1n?1 行的第 i-1i?1 個數和第 ii 個數之和。
需要判斷輸入的行數n是否大于1
public List<List<Integer>> generate(int numRows) {//定義一個空三角形數組ArrayList<List<Integer>> ret = new ArrayList<>();//定義每一行 從而遍歷每行的每個元素for(int i = 0; i < numRows; ++i){//定義每行的元素數 并遍歷List<Integer> row = new ArrayList<>();for(int j = 0; j <= i; ++j){if(j==0 || j==i){row.add(1);}else{row.add(ret.get(i-1).get(j - 1) + ret.get(i-1).get(j));}}ret.add(row);}return ret; }總結
以上是生活随笔為你收集整理的【leetcode】力扣算法:杨辉三角 java语言解题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 石油化工行业SCM供应链管理系统开发,优
- 下一篇: java递归 杨辉三角_java杨辉三