【力扣】杨辉三角问题

news/2024/5/5 7:34:48/文章来源:https://blog.csdn.net/qq_41080854/article/details/126960352

力扣|杨辉三角

  • 【力扣】杨辉三角I
    • ✌杨辉三角快速入门
    • 💬输出杨辉三角I问题
    • 🍵思路分析
    • ✍️ 算法实现
  • 【力扣】杨辉三角II
    • 💬 输出杨辉三角II问题
    • 🍵思路分析
    • ✍️ 算法实现

【力扣】杨辉三角I

✌杨辉三角快速入门

每行端点与结尾的数为1,每行其他元素的值等于它左上方和右上方的数的和。

💬输出杨辉三角I问题

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

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

🍵思路分析

根据输入的numRows,可以知道每行的长度len,然后对每行长度进行判断即可,如果是头尾则赋值为1,否则就等于上一行的左上方和右上方元素相加。

✍️ 算法实现

 public List<List<Integer>> generate(int numRows) {//返回数组List<List<Integer>> lists = new ArrayList<>();//从第一行开始的,下标为1for (int row = 1; row < numRows + 1; row++) {List<Integer> tmp = new ArrayList<>();int len = row;for (int i = 0; i < len; i++) {if (i == 0 || i == len - 1) {tmp.add(1);} else {tmp.add(lists.get(row - 2).get(i - 1) + lists.get(row - 2).get(i));}}lists.add(tmp);}return lists;}

在这里插入图片描述

【力扣】杨辉三角II

💬 输出杨辉三角II问题

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

输入: rowIndex = 3
输出: [1,3,3,1]输入: rowIndex = 0
输出: [1]输入: rowIndex = 1
输出: [1,1]

🍵思路分析

为减少空间复杂度,每次迭代依赖“上一行”的数据,迭代之后的数据覆盖“上一行”的数据,每次迭代计算时,从前往后进行计算,可以避免“上一行”数据发生变化

✍️ 算法实现

class Solution {public List<Integer> getRow(int rowIndex) {List<Integer> list = new ArrayList<>(rowIndex + 1);int left = 1, right = 1;list.add(1);for (int i = 1; i < rowIndex + 1; i++) {list.add(1);left = 1;for (int j = 1; j < i; j++) {right = list.get(j);list.set(j, left + right);left = right;}}return list;}
}

在这里插入图片描述

如果觉得对你有帮助的话:
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
👄 评论,你的意见是我进步的财富!

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JavaScript 逆向】猿人学 web 第十八题:jsvmp,洞察先机

案例目标 网址&#xff1a;第十八题 jsvmp 洞察先机 - 猿人学 本题目标&#xff1a;抓取 5 页数字&#xff0c;计算加和并提交结果 常规 JavaScript 逆向思路 一般情况下&#xff0c;JavaScript 逆向分为三步&#xff1a; 寻找入口&#xff1a;逆向在大部分情况下就是找一些…

【Redis】arm64架构,docker的Redis出现Failed to test the kernel for a bug that could lead to data corruption

一、问题说明在运行docker的redis镜像,log打印 # Failed to test the kernel for a bug that could lead to data corruption during background save. Your system could be affected, please report this error.# Redis will now exit to prevent data corruption. Note tha…

Replication(下):事务,一致性与共识

本文主要介绍事务、一致性以及共识&#xff0c;首先会介绍它们怎么在分布式系统中起作用&#xff0c;然后将尝试描述它们之间的内在联系&#xff0c;让大家了解&#xff0c;在设计分布式系统时也是有一定的“套路”可寻。最后将介绍业界验证分布式算法的一些工具和框架。希望能…

告别if else,试试这款轻量级流程引擎吧,自带IDEA插件真香

在我们平时做项目的时候&#xff0c;经常会遇到复杂的业务逻辑&#xff0c;如果使用if else来实现的话&#xff0c;往往会很冗长&#xff0c;维护成本也很高。今天给大家推荐一个轻量级流程引擎 LiteFlow &#xff0c;可以优雅地实现复杂的业务逻辑&#xff0c;本文将以电商项目…

HashSet的存储机制

文章目录HashSet类内部存储机制实验1.不重写hashcode equals方法2.重写&#xff0c;但改写equals3.重写参考&#xff1a;HashSet类 HashSet是Set接口的典型实现&#xff0c;大多数时候使用Set集合时就是使用这个实现类。HashSet按Hash算法来存储集合中的元素&#xff0c;因此具…

PID控制算法

闭环控制(反馈回路close loop): 闭环控制系统需要目标量,执行器,传感器 通过偏差量获得执行量是最为重要的 目标量和传感器获得的执行器数据都需要是连续的; 偏差量来自于传感器和目标量数据和执行量不是同一个单位,需要一个比例P系数进行规整; 偏差量=目标量-当前位置量…

Java项目:JSP宠物店管理系统

作者主页&#xff1a;夜未央5788 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目分为前后台&#xff0c;主要分为管理员与用户两种角色&#xff0c;管理员登录后台&#xff0c;普通用户登录前台&#xff1b; 管理员角色包含…

【LeetCode每日一题】——面试题17.16.按摩师

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 动态规划 二【题目难度】 简单 三【题目编号】 面试题17.16.按摩师 四【题目描述】 一个有名的按摩师会收到…

App移动端测试(10)—— Monkey自定义脚本案例

01、前言 Monkey自定义脚本案例&#xff1a;QQ的操作 02、Monkey API LaunchActivity(pkg_name, cl_name)启动应用的Activity。参数&#xff1a;包名和启动的 Tap(x, y, tapDuration)模拟一次手指单击事件。参数&#xff1a;x,y为控件坐标&#xff0c;tapDuration为点击的持续…

你到底是前端人还是搬砖人?推荐一款国产摸鱼神器!

☀️ 前言 大家好我是小卢&#xff0c;前几天在群里见到有群友抱怨一周内要完成这么一个大概20&#xff5e;30页的小程序。 群友: 这20多个页面一个星期让我开发完&#xff0c;我是不相信&#x1f62e;‍&#x1f4a8;。群友1: 跑吧&#xff0c;这公司留着没用了&#xff0c;不…

【Python 技能树共建】Beautiful Soup

Beautiful Soup 模块是什么 初学 Python 爬虫&#xff0c;十之八九你采集的目标是网页&#xff0c;因此快速定位到网页内容&#xff0c;就成为你面临的第一道障碍&#xff0c;本篇博客就为你详细说明最易上手的网页元素定位术&#xff0c;学完就会系列。 本文核心使用到的是 …

Spring Security 中的RBAC角色和权限

在这篇文章中&#xff0c;我们将看看使用 Spring boot的R ole B ased A ccess Control ( RBAC )。 了解 RBAC 在 RBAC 模型中存在三个关键实体。他们是&#xff0c; 用户或主题 ——执行操作的系统参与者。它可以代表一个自然人、一个自动帐户&#xff0c;甚至是另一个应用程…

专业思维导图软件 Mindjet MindManager 2021下载

Mindjet MindManager 2021 是一款专业的思维导图软件&#xff0c;美国Mindjet公司开发&#xff0c;一款视觉工作管理的思维导图软件&#xff0c;界面友好功能强大&#xff0c;头脑风暴、会议管理及项目管理工具帮您轻松创建思维导图&#xff0c;有序组织思维、资源和项目进程。…

win10+cuda+cudnn+anconda+pytorch+pycharm全家桶安装

1、下载安装cuda&#xff1a; 网址&#xff1a;CUDA Toolkit 11.7 Update 1 Downloads | NVIDIA Developer 网址下方可以找到以前版本 安装完后&#xff0c;可以在命令行窗口输入nvcc --version查看cuda版本是否正确 显卡驱动版本与cuda版本对应关系&#xff1a; 2、安装cud…

操作系统实验四 进程间通信

★观前提示&#xff1a;本篇内容为操作系统实验内容&#xff0c;代码等内容经测试没有问题&#xff0c;但是可能会不符合每个人实验的要求&#xff0c;因此以下内容建议仅做思路参考。 目录一、实验目的二、实验内容三、具体实现四、实验总结一、实验目的 多道程序设计中&…

【前端面试】-- 必知必会的promise题

Promise 想必大家都十分熟悉&#xff0c;想想就那么几个 api&#xff0c;可是你真的了解 Promise 吗&#xff1f; 请迎接测试: 以下 promise 均指代 Promise 实例&#xff0c;环境是 Node.js 题目一&#xff1a; const promise new Promise((resolve, reject) > {conso…

ES8JC-ASEMI快恢复二极管ES8JC

编辑:ll ES8JC-ASEMI快恢复二极管ES8JC 型号:ES8JC 品牌:ASEMI 封装:SMC 特性:快恢复二极管 正向电流:8A 反向耐压:600V 恢复时间:35ns 引脚数量:2 芯片个数:1 芯片尺寸:84MIL 浪涌电流:125A 漏电流:<5ua 工作温度:-40℃~150℃ 包装方式:30/管;3000/箱 备受…

华为云各Region网络延迟实测

一、测试综述 测试内容&#xff1a; 序号 评测内容 测试日期 1 华为云各大区公网接入网络延迟 2022-09-20 2 华为云各大区之间网络延迟&#xff08;通过公网&#xff09; 2022-09-20 3 华为云各大区之间网络延迟&#xff08;通过云连接&#xff09; 2022-09-20 测…

【Linux】聊聊删文件的那些破事

聊聊删文件的那些破事前言正文rm命令find命令perl方式10w文件删除对比50w文件删除对比100w文件删除对比结语前言 在操作系统的日常运维中&#xff0c;我们经常会做文件的创建、删除、修改操作&#xff0c;尤其是删除&#xff0c;无论是定期清理日志文件&#xff0c;还是做完一…

传统光流方法汇总

又搬运了一个3d视觉相关的~~ 还是先道歉 就是学习用 还是公交上回家看那种 ~~ 这次分享传统光流方法汇总及其在深度学习中的应用&#xff01;&#xff08;基于相位/能量/匹配/变分&#xff09; 回望传统光流估计方法 近年来&#xff0c;随着深度学习技术的快速发展&#xff…