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 小时前
day89(2.18)——leetcode面试经典150
算法·leetcode·面试
丰海洋7 小时前
Leetcode-hot100-283.移动零
算法·leetcode·职场和发展
s_w.h7 小时前
【 C++ 】搜索二叉树
java·开发语言·c++·算法
俩娃妈教编程7 小时前
2023 年 09 月 二级真题(2)--数字黑洞
c++·算法·while
星火开发设计7 小时前
关联式容器:map 与 multimap 的键值对存储
java·开发语言·数据结构·c++·算法
散峰而望7 小时前
【算法竞赛】二叉树
开发语言·数据结构·c++·算法·深度优先·动态规划·宽度优先
Never_Satisfied7 小时前
在c#中,缩放jpg文件的尺寸
算法·c#
那起舞的日子7 小时前
卡拉兹函数
java·算法
颜酱7 小时前
滑动窗口算法通关指南:从模板到实战,搞定LeetCode高频题
javascript·后端·算法
Stringzhua7 小时前
队列-双端队列【Queue2】
java·数据结构·算法·队列