题解 | 杨辉三角-ii

杨辉三角-ii

https://www.nowcoder.com/practice/a60ee4a1c8a04c3a93f1de3cf9c16f19

//杨辉三角单行,时间复杂度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;
    }
};

全部评论

相关推荐

你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务