马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 糖逗 于 2020-6-7 13:24 编辑
题目描述:给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
class Solution {
public:
void dfs(vector<int>& res, vector<int>& pre, int rowIndex, int cur){
if(cur >= rowIndex){
res = pre;
return;
}
int left = 0, right = 1;
res.push_back(1);
for(int i = right; i < pre.size(); i++){
res.push_back(pre[left] + pre[right]);
left ++;
right++;
}
res.push_back(1);
pre = res;
res = {};
dfs(res, pre, rowIndex, cur+ 1);
}
vector<int> getRow(int rowIndex) {
if(rowIndex == 0) return {1};
if(rowIndex == 1) return {1, 1};
vector<int> res;
vector<int> pre = {1, 1};
dfs(res, pre, rowIndex, 1);
return res;
}
};
|