【LeetCode】118. 杨辉三角

news2025/1/22 12:46:12

【LeetCode】118. 杨辉三角

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

示例

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

数学方式

双重循环,i表示行数(i < numRows),j表示列(j<=i)
列出两种条件:

  • j == 0 || j == i 元素为1;
  • 否则元素为 row(i - 1).get(j - 1) + row(i - 1).get(j)

在这里插入图片描述
Java

    /**
     * 数学
     *
     * @param numRows
     * @return
     */
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> ret = new ArrayList<List<Integer>>();
        for (int i = 0; i < numRows; i++) {
            List<Integer> row = new ArrayList<>();
            for (int j = 0; j <= i; j++) {
                if (j == 0 || j == i) {
                    // 两边都是 1
                    row.add(1);
                } else {
                    // 其它
                    row.add(ret.get(i - 1).get(j - 1) + ret.get(i - 1).get(j));
                }
            }
            ret.add(row);
        }
        return ret;
    }

output
在这里插入图片描述
在这里插入图片描述

C++

class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> ret(numRows);
        for (int i = 0; i < numRows; ++i) {
            ret[i].resize(i + 1);
            ret[i][0] = ret[i][i] = 1;
            for (int j = 1; j < i; ++j) {
                ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
            }
        }
        return ret;
    }
};

output

在这里插入图片描述

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

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

相关文章

UDP-TCP

文章目录再谈端口号协议号&#xff1a;端口号范围划分pidof(),命令行输入&#xff0c;根据进程名直接拿到进程idnetstat -nltp :查看网络状态UDP协议如何做到向上交互&#xff1f;&#xff08;分用问题&#xff09;如何做到封装和解包&#xff1f;Linux内核当中&#xff0c;如何…

【学习笔记】JDK源码学习之LinkedHashMap(附带面试题)

【学习笔记】JDK源码学习之LinkedHashMap&#xff08;附带面试题&#xff09; 其他好文&#xff1a; 地址 什么是 LinkedHashMap ? 它的作用又是什么&#xff1f;它和 HashMap 有什么区别呢&#xff1f; 老样子&#xff0c;带着以上问题来深入了解 LinkedHashMap 的作用吧。…

音频文件格式有哪些?误删音频文件如何恢复?

音频用于在计算机系统上以数字格式存储的音频数据。日常生活中&#xff0c;我们也会通过录音来保存一些重要的内容&#xff0c;或者是记录一些重要的事情。但是&#xff0c;你知道音频文件有哪几种格式吗&#xff1f;如果音频在保存的过程中&#xff0c;因为我们的误操作&#…

72. 如何给 SAP ABAP ALV 报表的修改功能添加自定义校验逻辑

本教程前面的步骤,我们已经介绍了如何编辑 SAP ALV 报表里的某一列数据: 70. 利用 ALV 实现增删改查系列之二:仅让 ALV 报表某一列允许被编辑如下图 Airfare 和 Capacity 列所示。然而实际的开发项目中,我们肯定不会允许用户对这些列进行随心所欲的修改,必定要增添一些自定…

力扣(202.454)补9.18

202.快乐数 不会。又要用到数学的思想&#xff0c;你要学会去分析。&#x1f641; 根据上表你需要知道&#xff0c;一个很大的数&#xff0c;经过快乐运算&#xff0c;不可能会一直增大&#xff0c;一定会受到限制。 class Solution { private int getNext(int n) { …

知识点21--springboot 文件上传

前面有一篇简单版的文件上传&#xff0c;是为了让大家知道文件上传是在干什么&#xff0c;但是在正式的开发中文件上传是一个稍微有些麻烦的东西&#xff0c;需要从页面层开发到数据层&#xff0c;如果你常常听人说文件上传会知道有一些相关的名词&#xff0c;比如切片、秒传、…

编程算法集锦

编程算法集锦一、分治法1.分治法介绍2.归并排序3.快速排序4.中值问题二、贪心法1.贪心法2.最小生成树Kruskal算法3.Huffman编码4.单源点最短路径三、回溯法1.回溯法-n皇后问题2.子集和数四、动态规划1.数塔问题2.最长公共子序列3.求序列-2 11 -4 13 -5 -2的最大字段和4.求最长的…

Linux内核工作队列(workqueue)详解

1、为什么需要工作队列&#xff1f; 在内核代码中&#xff0c;经常会遇到不能或不合适去马上调用某个处理过程&#xff0c;此时希望将该工作推送给某个内核线程执行&#xff0c;这样做的原因有很多&#xff0c;比如&#xff1a; 中断触发了某个过程的执行条件&#xff0c;而该过…

电表485通讯抄表软件

电表485通讯主要是有线抄表&#xff0c;电表485通讯抄表软件选用485线传送数据&#xff0c;适宜集中化安装电表&#xff0c;下列给您具体说说电表485通讯抄表原理、应用领域等。 电表485通讯抄表原理 RS485抄表适用电表集中化安装场合&#xff0c;为节省RS485通讯线成本&…

VR渲染之Stereo Rendering解析

VR渲染的独特和最明显的方面之一是需要生成两个视图&#xff0c;左右眼睛各一个。我们需要这两个视图来为观众创建立体3D效果。 Multi Camera 传统上&#xff0c;VR应用程序必须绘制两次几何体--一次是左眼&#xff0c;一次是右眼。这基本上使非VR应用程序所需的处理翻了一番。…

揭秘百度智能测试在测试定位领域实践

作者 | intelligents 前几篇&#xff0c;分别介绍了测试活动测试输入、测试执行、测试分析、测试定位和测试评估五个步骤中测试输入、执行、分析、评估的智能化研究和实践&#xff0c;本章节重点介绍测试定位环节的智能化实践。 测试定位的主要作用是在构建失败或问题发生后&…

傻白探索Chiplet,国内外研究现状(六)

目录 一、概述 二、国外Chiplet历史与现状 2.1 AMD 2.1.1 EPYC&#xff08;Naples&#xff09; 2.1.2 EPYC&#xff08;Rome&#xff09; 2.1.3 EPYC&#xff08;Milan-X &#xff09; 2.1.4 Ryzen&#xff08;Matisse&#xff09; 2.2 苹果 2.3 Intel 2.3.1 Alter…

【大数据技术】Spark+Flume+Kafka实现商品实时交易数据统计分析实战(附源码)

需要源码请点赞关注收藏后评论区留言私信~~~ Flume、Kafka区别和侧重点 1&#xff09;Kafka 是一个非常通用的系统&#xff0c;你可以有许多生产者和消费者共享多个主题Topics。相比之下&#xff0c;Flume是一个专用工具被设计为旨在往HDFS&#xff0c;HBase等发送数据。它对H…

2022年我国江蓠行业现状:养殖面积、产量不断增长 进口量仍大于出口

根据观研报告网发布的《中国江蓠市场现状深度研究与发展前景预测报告&#xff08;2022-2029年&#xff09;》显示&#xff0c;江蓠属于“海藻”产业&#xff0c;为暖水性藻类&#xff0c;我国俗称 “龙须菜”、 “海菜”、 “蚝菜”。藻体紫褐色或紫黄色、绿色。 江蓠在热带、 …

Opencv(C++)笔记--霍夫变换检测直线、霍夫变换检测圆

目录 1--原理 2--Opencv API 3--实例代码 4--霍夫变换检测圆 1--原理 具体原理可参考 博客1 和 视频讲解1&#xff1b; 霍夫变换检测直线的核心思想是&#xff1a;在笛卡尔坐标系下&#xff0c;一条直线&#xff08;两个点&#xff08;x1, y1&#xff09;和&#xff08;x2,…

行业权威来揭秘,商用PC为什么首选12代酷睿

第12代酷睿处理器可以提供更卓越的性能&#xff0c;凭借架构先进性让商用台式机和笔记本电脑为用户带来更好的体验&#xff0c;帮助企业和员工效率倍增。 作者|九月 来源| PConline 想要让办公效率进一步提升&#xff0c;一台强大的PC设备是必不可少的生产力和内容创作工…

有什么适合零基础的人做的副业兼职

互联网上有很多套路。这是不可预防的。只要你敢贪婪&#xff0c;你就会陷入别人设计的陷阱。在业余时间做兼职应该是很多人的梦想&#xff0c;因为他们可以在有限的时间内赚更多的钱。很多人不知道的是&#xff0c;其实我们赚钱的渠道很多:比如网上发文章.短视频直播.我们媒体、…

基于SpringBoot+Mybatis框架的私人影院预约系统(附源码,包含数据库文件)

基于SpringBootMybatis框架的私人影院预约系统&#xff0c;附源码&#xff0c;包含数据库文件。 非常完整的一个项目&#xff0c;希望能对大家有帮助哈。 本系统的完整源码以及数据库文件都在文章结尾处&#xff0c;大家自行获取即可。 项目简介 该项目设计了基于SpringBoo…

Spring MVC—Spring MVC概述

文章目录Java web的发展历史一.Model I和Model II1.Model I开发模式2.Model II开发模式二. MVC模式SpringMVC 的工作原理和流程springmvc 的拦截器Spring和SpringMVC的区别————————————————————————————————Java web的发展历史 一.Model I和M…

VS Code debug调试时无法查看变量内容【已解决】

问题场景&#xff1a;新换成的vscode编译软件&#xff0c;但是在debug调试时发现与QtCreator不同&#xff0c;无法直接查看变量&#xff0c;显示的都是地址或其他。 比如&#xff1a;QString或QStringList无法查看具体的内容&#xff0c;正常是这样显示的&#xff0c;反正我不…