leetcode——杨辉三角

https://leetcode.cn/problems/pascals-triangle/

杨辉三角:

给定一个非负整数 numRows 生成「杨辉三角」的前 *numRows*行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

核心思想:找出杨辉三角的规律,发现每一行头尾都是1,中间第[j]个数等于上一行[j-1]+ [j]

这道题要用vector<vector<int>>,其实类似二维数组。因为本人最近正在学习vector,所以就把这道题用vector写了一下。

cpp 复制代码
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv;
        vv.resize(numRows);//开辟杨辉三角的空间
        for(size_t i=0;i<numRows;i++)
        {   //每一行的首和尾都为1
            vv[i].resize(i+1);
            vv[i][0]=1;
            vv[i][vv[i].size()-1]=1;
        }
            //接下来就是对 不等于1的位置进行赋值
        for(size_t i=0;i<vv.size();i++)
        {
            for(size_t j=0;j<vv[i].size();j++)
            {
                if(vv[i][j]!=1)
                {
                    vv[i][j]=vv[i-1][j-1]+vv[i-1][j];
                }
            }
        }
        return vv;
    }
};
相关推荐
每次的天空6 分钟前
Android第十四次面试总结
android·面试·职场和发展
fen_fen16 分钟前
学习笔记(26):线性代数-张量的降维求和,简单示例
笔记·学习·算法
王禄DUT17 分钟前
炉石传说 第八次CCF-CSP计算机软件能力认证
c++·算法
白熊18843 分钟前
【推荐算法】DeepFM:特征交叉建模的革命性架构
算法·架构·推荐算法
L_cl1 小时前
【Python 算法零基础 4.排序 ⑪ 十大排序算法总结】
python·算法·排序算法
小刘不想改BUG1 小时前
LeetCode 70 爬楼梯(Java)
java·算法·leetcode
老歌老听老掉牙1 小时前
使用 SymPy 进行向量和矩阵的高级操作
python·线性代数·算法·矩阵·sympy
lifallen1 小时前
Flink checkpoint
java·大数据·算法·flink
比特森林探险记1 小时前
Go 中的 Map 与字符处理指南
c++·算法·golang
安全系统学习3 小时前
网络安全逆向分析之rust逆向技巧
前端·算法·安全·web安全·网络安全·中间件