C++速通LeetCode简单第18题-杨辉三角(全网唯一递归法)

全网唯一递归法:

cpp 复制代码
vector<vector<int>> generate(int numRows) {
    vector<int> v;
    vector<vector<int>>vn;

    if (numRows == 1)
    {
        v.push_back(1);
        vn.push_back(v);
        v.clear();
        return vn;//递归记得return
    }
    if (numRows == 2)
    {
        v.push_back(1);
        vn.push_back(v);
        v.clear();
        v.push_back(1);
        v.push_back(1);
        vn.push_back(v);
        v.clear();
        return vn;//递归记得return
    }
    else
    {
        vn = generate(numRows - 1);//递归精髓
        v = vn[numRows - 2];
        vector<int> v2;
        v2.resize(numRows, 1);
        for (int i = 1; i < numRows - 1; i++)
        {
            v2[i] = v[i-1] + v[i];
        }
        vn.push_back(v2);
        v.clear();
    }
    return vn;
}
相关推荐
Dev7z3 小时前
基于MATLAB数学形态学的边缘检测算法仿真实现
算法·计算机视觉·matlab
kyle~5 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
NiNi_suanfa8 小时前
【Qt】Qt 批量修改同类对象
开发语言·c++·qt
信奥胡老师9 小时前
苹果电脑(mac系统)安装vscode与配置c++环境,并可以使用万能头文件全流程
c++·ide·vscode·macos·编辑器
妖灵翎幺9 小时前
C++ 中的 :: 操作符详解(一切情况)
开发语言·c++·ide
风筝在晴天搁浅9 小时前
代码随想录 718.最长重复子数组
算法
kyle~9 小时前
算法---回溯算法
算法
star _chen10 小时前
C++实现完美洗牌算法
开发语言·c++·算法
hzxxxxxxx10 小时前
1234567
算法
繁星星繁10 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习