題型解說
這是一題難度為簡單的題目
需要設計一個方法,此方法會傳入一個整數 numRows
回傳一個與 numRows 相同層數的巴斯卡三角形
解題思路
這一題看一下官方給的示意圖就大概知道怎麼寫了
除了第一個及最後一個元素都是 1 之外
每一個元素(j)的值都是上一層(i - 1)(j) + (i - 1)(j - 1)
程式碼
Java
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<>();
if (numRows == 0) {
return result;
}
result.add(new ArrayList<>() {{
add(1);
}});
for (int i = 1; i < numRows; i++) {
List<Integer> temp = new ArrayList<>();
for (int j = 0, len = i +1; j < len; j++) {
if (j == 0 || j == len -1) {
temp.add(1);
} else {
temp.add(result.get(i -1).get(j) + result.get(i -1).get(j -1));
}
}
result.add(temp);
}
return result;
}
}