LeetCode 118. 杨辉三角 简单

news2025/1/17 21:34:54

题目 - 点击直达

  • 1. 118. 杨辉三角 简单
    • 1. 题目详情
      • 1. 原题链接
      • 2. 题目要求
      • 3. 基础框架
    • 2. 解题思路
      • 1. 思路分析
      • 2. 时间复杂度
      • 3. 代码实现

1. 118. 杨辉三角 简单

1. 题目详情

给定一个非负整数 numRows,生成「杨辉三角」的前 n u m R o w s numRows numRows 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。
在这里插入图片描述

1. 原题链接

LeetCode 118. 杨辉三角 简单

2. 题目要求

示例 1:
输入: numRows = 5
输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

示例 2:
输入: numRows = 1
输出: [[1]]

提示:
1 < = n u m R o w s < = 30 1 <= numRows <= 30 1<=numRows<=30

3. 基础框架

● Cpp代码框架

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
    }
};

2. 解题思路

1. 思路分析

在这里插入图片描述

( 1 ) (1) (1) 找到杨辉三角的规则:

  1. 最左边位置上的数都是1;
  2. 对角线位置上的数都是1;
  3. 普通位置上的数 = 上一行且同一列位置的数 + 上一行且前一列位置的数;
  4. 第n行的元素个数是n个;

( 2 ) (2) (2) 进行两层循环,外层循环对应生成n行序列;内层循环对应本次生成的序列,生成规则已知;

2. 时间复杂度

O ( N 2 ) O(N^2) O(N2)
两层循环,共生成 n n n层,第 i i i层生成的元素是 i i i个,其中 1 < = i < = n 1<=i<=n 1<=i<=n;
1 + 2 + 3 + . . . + i + . . . n = ( n ∗ ( n + 1 ) ) / 2 1+2+3+...+i+...n=(n*(n+1))/2 1+2+3+...+i+...n=(n(n+1))/2

3. 代码实现

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> vv;
        for(int i = 0; i < numRows; ++i){
            vector<int> tmp(i + 1);
            for(int j = 0; j <= i; ++j){
                if(j == 0 || j == i){
                    tmp[j] = 1;
                }
                else{
                    tmp[j] = vv[i - 1][j] + vv[i - 1][j - 1];
                }
            }
            vv.push_back(tmp);
        }
        return vv;
    }
};

T h e The The E n d End End

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1197280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

客服呼叫中心的语音质检工作

语音质检是呼叫中心运营中必不可缺少的一个环节&#xff0c;呼叫中心语音质检对坐席起着直接监督的作用&#xff0c;也正是这种监督约束推动着客服人员不断提升自身的业务能力。 而客服呼叫中心的质检结果中还蕴藏了大量有价值的信息&#xff0c;可以通过日常的质检工作真正发现…

2023年【北京市安全员-C3证】考试题库及北京市安全员-C3证在线考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 北京市安全员-C3证考试题库是安全生产模拟考试一点通总题库中生成的一套北京市安全员-C3证在线考试&#xff0c;安全生产模拟考试一点通上北京市安全员-C3证作业手机同步练习。2023年【北京市安全员-C3证】考试题库及…

开发者眼中的向量数据库应用领域

目录 引言向量数据库概念向量数据库优势应用领域亚马逊云科技向量数据库向量数据库的使用步骤最后 引言 随着人工智能和大数据技术的快速发展&#xff0c;越来越多的技术倾向于数据存储方面&#xff0c;数据库领域也随着人工智能和大数据的发展而发展&#xff0c;尤其是向量…

零代码Prompt应用大赛正式开始!飞桨星河社区五周年活动第一站

五周年盛典将至&#xff01;抢发第一站&#xff01; 在大模型时代&#xff0c;飞桨星河社区致力于让人人都成为大模型开发者&#xff01; 飞桨星河社区零代码应用开发工具链&#xff0c;帮助大家轻松实现灵感落地、场景化需求落地&#xff0c;助力每个人实现工作与生活的效能提…

Vue 3 打印解决方案:Vue-Plugin-HiPrint

文章目录 1. Vue-Plugin-HiPrint 简介2. 安装和使用2.1 安装2.2 引入并注册插件2.3 在组件中使用 3. 配置和高级用法4. 示例应用5. 总结 &#x1f389;欢迎来到Java学习路线专栏~Vue 3 打印解决方案&#xff1a;Vue-Plugin-HiPrint ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f37…

数据分析 - 数据案例流程分析

有这样的一个案例&#xff1a;外卖骑手的未接单率上升 1&#xff1a;分析有哪些因素会造成这种后果 骑手和订单的一个占比情况订单配送距离的情况平台补贴情况和收入情况时间段的订单和骑手的需求比 2&#xff1a;清理错误数据&#xff0c;或者无用的数据&#xff0c;确保数…

计算机网络期末复习-Part4

1、UDP和TCP的比较 TCP提供可靠传输&#xff1b;UDP提供不可靠传输。TCP有连接&#xff1b;UDP无连接&#xff08;减小时延&#xff09;。TCP提供流量控制&#xff1b;UDP不提供流量控制。TCP提供拥塞控制&#xff1b;UDP不提供拥塞控制&#xff08;传输快&#xff09;。TCP提…

归并分治 计算数组的小和 + 图解 + 笔记

归并分治 前置知识&#xff1a;讲解021-归并排序 归并排序 图解 递归 非递归 笔记-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134338789?spm1001.2014.3001.5501原理&#xff1a; (1&#xff09;思考一个问题在大范围上的答案&#xff0c;是否等于&…

Flink之Table API SQL连接器

连接器 Table API & SQL连接器1.概述2.支持连接器 DataGen连接器1.概述2.SQL客户端执行3.Table API执行 FileSystem连接器1.创建FileSystem映射表2.创建source数据源表3.写入数据4.解决异常5.查询fileTable6.查看HDFS Kafka连接器1.添加kafka连接器依赖2.重启yarn-session、…

微软和Red Hat合体:帮助企业更方便部署容器

早在2015年&#xff0c;微软就已经和Red Hat达成合作共同为企业市场开发基于云端的解决方案。时隔两年双方在企业市场的多个方面开展更紧密的合作&#xff0c;今天两家公司再次宣布帮助企业更方便地部署容器。 双方所开展的合作包括在微软Azure上部署Red Hat OpenShift&#xf…

实战Leetcode(四)

Practice makes perfect&#xff01; 实战一&#xff1a; 这个题由于我们不知道两个链表的长度我们也不知道它是否有相交的节点&#xff0c;所以我们的方法是先求出两个链表的长度&#xff0c;长度长的先走相差的步数&#xff0c;使得两个链表处于同一起点&#xff0c;两个链…

运筹说 第102期 | 非线性规划—制约函数法

通过上期学习&#xff0c;大家已经了解了非线性规划中约束极值问题的最优性条件。本期小编将为大家介绍约束极值问题的求解方法&#xff1a;制约函数法&#xff0c;包括概念以及最基本的两种制约函数法&#xff1a;罚函数法、障碍函数法等内容。 制约函数法是通过构造某种制约函…

tomcat下载与使用教程

1. tomcat下载 官网&#xff1a;https://tomcat.apache.org/ 镜像地址&#xff1a;https://mirrors.huaweicloud.com/apache/tomcat/ 1、选择一个版本下载&#xff0c;官网下载速度缓慢&#xff0c;推荐镜像 2、对压缩包进行解压&#xff0c;无需进行安装&#xff0c;解压放…

PyTorch技术和深度学习——三、深度学习快速入门

文章目录 1.线性回归1&#xff09;介绍2&#xff09;加载自由泳冠军数据集3&#xff09;从0开始实现线性回归模型4&#xff09;使用自动求导训练线性回归模型5&#xff09;使用优化器训练线性回归模型 2.使用torch.nn模块构建线性回归模型1&#xff09;使用torch.nn.Linear训练…

智能指针,c++11,单例,类型转换

c11 unique_ptr 防拷贝 shared_ptr / weak_ptr: 引用计数,支持拷贝 面试 手写shared_ptr 各种ptr的特性对比, 不会问定制删除器和weak_ptr,但是问shared_ptr时,可以往这边延展. 单例 保证一写数据在一个进程中,只有一份,并且方便访问修改. 饿汉模式 在main函数之前就创…

Java中的多态究竟是什么?

目录 一.概念二.使用条件三.重写1.概念2.使用条件3.与重载对比4.举例5.为什么需要重写1.重写规则 2.静态绑定--重载3.动态绑定--重写 四.向上转型第一种传参方式&#xff1a;直接赋值第二种传参方式&#xff1a;通过传参优缺点 五.向下转型举例缺点 六.多态的优缺点优点缺点 一…

【Python 千题 —— 基础篇】账号登录

题目描述 题目描述 简易登录系统。你的账号密码分别是 “student”&#xff0c;“123456”&#xff1b;请使用 if-else 设计一个简易登录系统&#xff0c;输入账号密码。登陆成功输出 “Welcome !”&#xff0c;登录失败输出 “Login failed !” 输入描述 输入账号和密码。…

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测

分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测 目录 分类预测 | Matlab实现PSO-LSTM粒子群算法优化长短期记忆神经网络的数据多输入分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现PSO-LSTM粒子群算法优化长短…

vue3+vite搭建后台项目-1 引入element-plus 中文包,打包时报错问题

vue3vite搭建后台项目-1 引入element-plus 中文包,打包时报错问题 终端报错 If theelement-pluspackage actually exposes this module, try adding a new declaration (.d.ts) file containing are moduleelement-plus/dist/locale/zh-cn.mjsdec import zhCn fromelement-plus…

VS c++多文件编译

前言&#xff1a;记录下我这个菜鸡学习的过程&#xff0c;如有错误恳请指出&#xff0c;不胜感激&#xff01; 1.简单多文件编译调试 文件目录&#xff1a; 编译&#xff1a; -g选项是告诉编译器生成调试信息&#xff0c;这样可以在程序崩溃或出现错误时更容易地进行调试。这…