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;
    }
};
相关推荐
qq_41601872几秒前
分布式缓存一致性
开发语言·c++·算法
CoovallyAIHub5 分钟前
多 Agent 手术推理框架:Agent 辩论+RAG 补上手术知识,零样本超越监督基线 14.6 个百分点
算法·架构·机器人
干啥啥不行,秃头第一名9 分钟前
STL容器内部实现剖析
开发语言·c++·算法
Zarek枫煜9 分钟前
zig与c3的冒泡排序算法
算法
xiaoye-duck13 分钟前
《算法题讲解指南:动态规划算法--简单多状态dp问题》--13.删除并获得点数,14.粉刷房子
c++·算法·动态规划
老鼠只爱大米14 分钟前
LeetCode经典算法面试题 #347:前 K 个高频元素(最小堆、桶排序、快速选择等多种实现方案详解)
算法·leetcode·堆排序·java面试题·桶排序·快速选择·topk
2401_8318249616 分钟前
内存泄漏检测与防范
开发语言·c++·算法
FluxMelodySun27 分钟前
机器学习(二十五) 降维:主成分分析(PCA)及特征值分解
人工智能·算法·机器学习
liuyao_xianhui43 分钟前
优选算法_分治_快速排序_归并排序_C++
开发语言·数据结构·c++·算法·leetcode·排序算法·动态规划
重庆小透明1 小时前
【搞定面试之mysql】第一篇:mysql的优化和索引
mysql·面试·职场和发展