dotnet core 和 dotnet Framework 啟動可執行檔案的差別
阿新 • • 發佈:2021-02-06
技術標籤:leetcode精選top面試題演算法javaleetcode資料結構python
118. 楊輝三角
給定一個非負整數numRows,生成楊輝三角的前numRows行。
在楊輝三角中,每個數是它左上方和右上方的數的和
示例:
輸入: 5
輸出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
思路:
楊輝三角,知道上一行就可以求出下一行,但是注意每行的首尾元素都是1,需要單獨新增
leetcode 執行用時:1 ms, 在所有Java提交中擊敗了66.94%的使用者 記憶體消耗:36.2 MB, 在所有Java提交中擊敗了80.37%的使用者1 class Solution { 2 public List<List<Integer>> generate(int numRows) { 3 List<List<Integer>> res = new ArrayList<>(); 4 if(numRows <= 0){ 5 return res; 6 } 7 List<Integer> temp = new ArrayList<Integer>(); 8 temp.add(1); 9 10 res.add(temp); 11 for(int i = 1; i < numRows; i++){ 12 List<Integer> nextRowList = new ArrayList<Integer>(); 13 nextRowList.add(1); 14 for(int j = 0; j < temp.size() - 1; j++){ 15 // 遍歷上一行的每個元素,生成一個新元素新增到nextRowList中 16 nextRowList.add(temp.get(j) + temp.get(j + 1)); 17 } 18 nextRowList.add(1); 19 res.add(new ArrayList<Integer>(nextRowList)); 20 temp = nextRowList; // 更新temp 21 } 22 return res; 23 } 24 }