118:杨辉三角

This commit is contained in:
huangge1199 2021-07-09 15:27:52 +08:00
parent 3fe71b3a02
commit 7106c6f516
2 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,59 @@
//给定一个非负整数 numRows生成杨辉三角的前 numRows
//
//
//
// 在杨辉三角中每个数是它左上方和右上方的数的和
//
// 示例:
//
// 输入: 5
//输出:
//[
// [1],
// [1,1],
// [1,2,1],
// [1,3,3,1],
// [1,4,6,4,1]
//]
// Related Topics 数组 动态规划
// 👍 525 👎 0
package leetcode.editor.cn;
import java.util.ArrayList;
import java.util.List;
//118:杨辉三角
public class PascalsTriangle{
public static void main(String[] args) {
//测试代码
Solution solution = new PascalsTriangle().new Solution();
}
//力扣代码
//leetcode submit region begin(Prohibit modification and deletion)
class Solution {
public List<List<Integer>> generate(int numRows) {
List<List<Integer>> result = new ArrayList<>();
for (int i = 0; i < numRows; i++) {
List<Integer> list = new ArrayList<>();
if(i==0){
list.add(1);
result.add(list);
continue;
}
List<Integer> bef = result.get(i-1);
for (int j = 0; j <= i; j++) {
if(j==0||j==i){
list.add(1);
}else{
list.add(bef.get(j-1)+ bef.get(j));
}
}
result.add(list);
}
return result;
}
}
//leetcode submit region end(Prohibit modification and deletion)
}

View File

@ -0,0 +1,18 @@
<p>给定一个非负整数&nbsp;<em>numRows</em>生成杨辉三角的前&nbsp;<em>numRows&nbsp;</em>行。</p>
<p><img alt="" src="https://upload.wikimedia.org/wikipedia/commons/0/0d/PascalTriangleAnimated2.gif"></p>
<p><small>在杨辉三角中,每个数是它左上方和右上方的数的和。</small></p>
<p><strong>示例:</strong></p>
<pre><strong>输入:</strong> 5
<strong>输出:</strong>
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]</pre>
<div><div>Related Topics</div><div><li>数组</li><li>动态规划</li></div></div>\n<div><li>👍 525</li><li>👎 0</li></div>