NC246. 杨辉三角(二)
描述
示例1
输入:
0
输出:
[1]
示例2
输入:
3
输出:
[1,3,3,1]
C++ 解法, 执行用时: 2ms, 内存消耗: 416KB, 提交时间: 2022-01-25
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型vector */ vector<int> getRow(int num) { // write code here vector<int> res; for(int i=0; i<num+1; ++i) { for(int j=0; j<i; ++j) { res[j] += res[j+1]; } res.insert(res.begin(),1); } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 308KB, 提交时间: 2022-02-09
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型vector */ vector<int> getRow(int num) { // write code here vector<vector<int>> dp; for(int i = 0; i <= num; i++) { vector<int> temp(i+1, 0); temp[0] = 1; temp[i] = 1; if(num == 0) dp.push_back(temp); else { for(int j = 1; j < i; j++) { temp[j] = dp[i-1][j-1] + dp[i-1][j]; } dp.push_back(temp); } } return dp[num]; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 308KB, 提交时间: 2022-01-25
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型vector */ vector<int> getRow(int num) { // write code here vector<int>res; for(int i=0;i<num+1;i++) { for(int j=0;j<i-1;j++) { res[j]+=res[j+1]; } res.insert(res.begin(),1); } return res; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 320KB, 提交时间: 2022-03-29
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型vector */ vector<int> getRow(int x) { // write code here int num=x+1; vector<vector<int>> matrix(num,vector<int>(num)); for(int i=0;i<num;i++) { matrix[i].resize(i+1); } for(int i=0;i<num;i++) { vector<int> line(i+1); for(int j=0;j<(i+1);j++) { if(j==0) line[j]=1; else if(j==i) line[j]=1; else line[j]=matrix[i-1][j-1]+matrix[i-1][j]; } matrix[i]=line; } return matrix[num-1]; } };
C++ 解法, 执行用时: 3ms, 内存消耗: 384KB, 提交时间: 2022-03-11
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param num int整型 * @return int整型vector */ vector<int> getRow(int num) { // write code here vector<vector<int> > res(num+1,vector<int>(num+1)); for(int i=0;i<num+1;i++){ for(int j=0;j<i+1;j++){ if(!j)res[i][j]=1; else res[i][j]=res[i-1][j-1]+res[i-1][j]; } } for(int i=0;i<num+1;i++){ res[i].resize(i+1); } return res[num]; } };