Given an integer numRows
, return the first numRows of Pascal’s triangle.
In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown:
Example 1:
Input: numRows = 5 Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
Example 2:
Input: numRows = 1 Output: [[1]]
Constraints:
1 <= numRows <= 30
Solution: Simulation
Time complexity: O(n2)
Space complexity: O(n2)
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// Author: Huahua class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int>> ans(numRows); for (int i = 0; i < numRows;++i) { ans[i].resize(i + 1); ans[i][0] = ans[i][i] = 1; for (int j = 1; j < i; ++j) ans[i][j] = ans[i-1][j] + ans[i-1][j-1]; } return ans; } } |
Related Problems
请尊重作者的劳动成果,转载请注明出处!花花保留对文章/视频的所有权利。
如果您喜欢这篇文章/视频,欢迎您捐赠花花。
If you like my articles / videos, donations are welcome.
[…] 花花酱 LeetCode 118. Pascal’s Triangle […]