//杨辉三角单行,时间复杂度O(n);
// class Solution {
// public:
// /**
// *
// * @param rowIndex int整型
// * @return int整型vector
// */
// vector<int> getRow(int rowIndex) {
// // write code here
// vector<int> result;
// for (int i = 0; i <= rowIndex; i++) {
// long int res = combination(rowIndex,i);
// result.push_back(res);
// }
// return result;
// }
// long int combination(int x,int y){
// long int num_1 = 1;
// if(y == 0){
// return num_1;
// }
// for(int i=1;i<=y;i++){
// num_1 = num_1 * (x - i +1) / i;
// }
// return num_1;
// }
// };
// //合理规划dp转移方向降低一个维度
// class Solution {
// public:
// vector<int> getRow(int rowIndex) {
// vector<int> dp(rowIndex+1,0);
// dp[0]=1;
// for(int i=1;i<=rowIndex;i++)
// for(int j=i;j>=1;j--)
// dp[j]+=dp[j-1];
// return dp;
// }
// };
#include <vector>
using namespace std;
class Solution {
public:
vector<int> getRow(int rowIndex) {
vector<int> result(rowIndex + 1, 1); // 初始化结果为全 1
long prev = 1; // 用于存储 C(rowIndex, i-1) 的值
for (int i = 1; i <= rowIndex; i++) {
prev = prev * (rowIndex - i + 1) / i; // 递推计算 C(rowIndex, i)
result[i] = (int)prev;
}
return result;
}
};