Java_12 杨辉三角 II

杨辉三角 II


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

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: rowIndex = 3
输出: [1,3,3,1]
示例 2:

输入: rowIndex = 0
输出: [1]
示例 3:

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

提示:

0 <= rowIndex <= 33
 

进阶:

你可以优化你的算法到 O(rowIndex) 空间复杂度吗?

作者:LeetCode
链接:https://leetcode.cn/leetbook/read/array-and-string/ctyt1/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

奋斗历程


问题1-坐标

问题二-传参

问题三-null

问题四-rowIndex

问题五-超时

终于可以通过了,但因为我用的是递归,超时?!😱😱😱我这琢磨了好久的递归

class Solution {public static int getnum(int i,int j){if(j==0||i==j  )return 1;else return getnum(i-1,j-1)+getnum(i-1,j);}public List<Integer> getRow(int rowIndex) {int[][] x=new int[rowIndex+1][rowIndex+1];List<Integer> y= new ArrayList<Integer>();int j=0;for(j=0;j<rowIndex+1;j++){x[rowIndex][j]=getnum(rowIndex,j);y.add(x[rowIndex][j]);}return y;}
}

借鉴成功

class Solution {/*public static int getnum(int i,int j){if(j==0||i==j  )return 1;else return getnum(i-1,j-1)+getnum(i-1,j);}*/public List<Integer> getRow(int rowIndex) {/*int[][] x=new int[rowIndex][rowIndex];List<Integer> y= new ArrayList<Integer>();int j=0;for(j=0;j<rowIndex;j++){x[rowIndex-1][j]=getnum(rowIndex-1,j);y.add(x[rowIndex-1][j]);}return y;*/int[] a=new int[rowIndex+1];List<Integer> result=new ArrayList<>();int i=0,j=0;for(i=0;i<rowIndex+1;i++){a[i]=1;result.add(a[i]);}if(rowIndex<2)return result;for(i=1;i<rowIndex;i++){for(j=i;j>0;j--){a[j]=a[j]+a[j-1];result.set(j,a[j]);}}return result;}
}

学习

List集合遍历过程中修改元素,这个坑踩一次就够了

作者:序散

杨辉三角 II
输出给定行数的某行杨辉三角

本来做过输出杨辉三角,想着生成之后,截取给定的某一行即可,但是看到提示说,能否优化到O(k)的空间复杂度,只需要返回某行数据,则说明该行之前的数据都不需要,直接申请一个长度为k的数组,每个元素初始化为1
如果给定的行数rowIndex小于2,则直接返回,否则需要进行迭代计算,每次迭代依赖“上一行”的数据,迭代之后的数据覆盖“上一行”的数据,每次迭代计算时,从后往前进行计算,可以避免“上一行”数据发生 变化

class Solution
{
public:
    vector<int> getRow(int rowIndex)
    {
        vector<int> result(rowIndex + 1, 1);
        if (rowIndex < 2)
        {
            return result;
        }
        // 需要进行迭代的次数
        for (int i = 1; i < rowIndex; i++)
        {
            // 每次迭代进行的计算
            for (int j = i; j > 0; j--)
            {
                result[j] = result[j] + result[j - 1];
            }
        }
        return result;
    }
};

作者:序散
链接:https://leetcode.cn/leetbook/read/array-and-string/ctyt1/?discussion=OX1DJa
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

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

相关文章

【应急响应靶场web2】

文章目录 前言 一、应急响应 1、背景 2、webshell查杀 3、日志排查 1&#xff09;apache日志 2&#xff09;nginx日志 3&#xff09;ftp日志 4、隐藏账户 5、文件筛选 二、漏洞复现 总结 前言 靶场来源&#xff1a;知攻善防实验室 一、应急响应 1、背景 小李在某…

VMware 配置虚拟机网络

之前需要完成的任务 &#xff08;1&#xff09;、下载和安装VMware-Workstation-Pro.exe软件&#xff0c;推荐16.0版本 &#xff08;2&#xff09;、下载centOS7镜像&#xff0c;可以在阿里云下载。 &#xff08;3&#xff09;、VM创建一个虚拟机&#xff0c;并且使用本地已下载…

中东社媒Snapchat如何注册?

Snapchat是一款图片分享软件应用。利用该应用程序&#xff0c;用户可以拍照、录制影片、撰写文字和图画,并传送到自己在该应用上的好友列表。现如今&#xff0c;Snapchat也成为独立战引流然而&#xff0c;即使如此受欢迎&#xff0c;Snapchat的注册使用仍然是新手的难题&#x…

Java基于 Springboot+Vue 的招生管理系统,前后端分离

博主介绍&#xff1a;✌程序员徐师兄、8年大厂程序员经历。全网粉丝15w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【全志H616】1 --用orangepi控制硬件

【全志H616】1 --用orangepi控制硬件 本文介绍了如歌用orangepi 控制蜂鸣器&超声波模块&#xff0c;通过键盘输入1、2、3、4来控制转动角度舵机模块&#xff1b;同时还介绍了利用全志如何配置定时器&#xff1b;以及查看H616引脚状态的命令等… 超声波模块和舵机模块的讲解…

德人合科技 | 公司办公终端、电脑文件资料 \ 数据透明加密防泄密管理软件系统

天锐绿盾是一款全面的企业级数据安全解决方案&#xff0c;它专注于为企业办公终端、电脑文件资料提供数据透明加密防泄密管理。 首页 德人合科技——www.drhchina.com 这款软件系统的主要功能特点包括&#xff1a; 1. **透明加密技术**&#xff1a; 天锐绿盾采用了透明加密技…

Android Gradle 编译过程中的优化

} 但是反射没有办法能很好的识别&#xff0c;所以如果代码中有使用反射需要自行处理&#xff0c;以免被删除。 shrink resource 功能 shrink code流程执行完后删除了无用的代码后&#xff0c;就能确认哪些资源文件没有使用&#xff0c;shrink resource流程就是确定哪些资源…

DB107-ASEMI智能LED灯具专用DB107

编辑&#xff1a;ll DB107-ASEMI智能LED灯具专用DB107 型号&#xff1a;DB107 品牌&#xff1a;ASEMI 封装&#xff1a;DB-4 正向电流&#xff08;Id&#xff09;&#xff1a;1A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1000V 正向浪涌电流&#xff1a;50A 正…

【大厂秋招高频算法】阿里秋招高频算法题汇总

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

Windows,MacOS,Linux下载python并配置环境图文讲解

Windows 打开python官网 点击download 点击黄色按钮 另存为 打开文件 全选 配置安装路径 安装中 关闭路径长度限制 完成 验证 同时按住winr(win就是空格键左边的东西) 输入cmd 键入python,如果出现版本(红框)即安装成功 MacOS 同理打开python官网 点击最新版本 拖…

看!Chat4.0如何看待AI与光纤资源管理软件的应用结合点及价值

问&#xff1a;你好&#xff0c;AI在光纤资源管理软件中有那些应用结合点&#xff0c;请详细描述应用结合点及价值? 答&#xff1a;AI在光纤资源管理软件中的应用结合点涉及多个方面&#xff0c;它们通过智能化的手段提高资源管理的效率和准确性。以下是一些关键的应用结合点及…

Midjourney视觉垫图

https://github.com/lllyasviel/Fooocus/discussions/117https://github.com/lllyasviel/Fooocus/discussions/117掌握Midjourney的垫图技巧&#xff1a;AI绘画中的参考利器本期将深入了解AI绘画的垫图技巧&#xff0c;让作品获得更好的出图效果https://mp.weixin.qq.com/s/RS2…

unity3d Animal Controller的Animal组件中Stances,Advanced基础部分理解

Stances 立场 立场要求在动物动画控制器上的姿态动画参数。 你可以有多个运动状态,并根据当前的立场使用它们 过渡的条件是: Stance StanceID Default Stance默认姿势 如果调用函数Stance_Reset&#xff08;&#xff09;&#xff0c;动物将返回到的默认姿势。 Current …

边缘计算网关的工作原理及其在工业领域的应用价值-天拓四方

随着物联网技术的快速发展&#xff0c;物联网时代已经悄然来临。在这个时代&#xff0c;数以亿计的设备相互连接&#xff0c;共享数据&#xff0c;共同构建智慧的世界。边缘计算网关通过将计算能力和数据存储推向网络的边缘&#xff0c;实现了对海量数据的实时处理&#xff0c;…

centos云服务器安装cs(cobaltstrike4.0)教程

1、先安装JAVA环境 mkdir download #创建download目录 cd download #进入download目录 mkdir java1.8 #在download目录下再创建java1.8目录 cd java1.8 #进入java1.8目录 wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz #下载jdk压缩包 tar…

WordPress供求插件API文档:获取市场类型

请注意&#xff0c;该文档为&#xff1a; WordPress供求插件&#xff1a;一款专注于同城生活信息发布的插件-CSDN博客文章浏览阅读396次&#xff0c;点赞6次&#xff0c;收藏5次。WordPress供求插件&#xff1a;sliver-urban-life 是一款专注于提供同城生活信息发布与查看的插件…

vue生命周期函数原理解析,vue阻止事件冒泡方法实现

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

TransNeXt实战:使用TransNeXt实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 https://arxiv.org/pdf/2311.17132.pdf TransNeXt是一种视觉骨干网络&#xff0c;它集成了聚合注意力作为令牌混合器和卷积GLU作为通道混合器。通过图像分类、目标检测和分割任务…

Hive借助java反射解决User-agent编码乱码问题

一、需求背景 在截取到浏览器user-agent&#xff0c;并想保存入数据库中&#xff0c;经查询发现展示的为编码后的结果。 现需要经过url解码过程&#xff0c;将解码后的结果保存进数据库&#xff0c;那么有几种实现方式。 二、问题解决 1、百度&#xff1a;url在线解码工具 …

【gpt实践】比OpenAI 的 GPT-4 更好模型 Claude 3.0

Google 最近发布了最新的 Gemini 1.5 语言模型&#xff0c;震惊了世界。这是目前功能最强大的模型&#xff0c;拥有 100 万个上下文窗口&#xff0c;是所有大型基础模型中最大的。 OpenAI 的 GPT-4 才具有 128K 上下文窗口。 最近&#xff0c;谷歌最接近的竞争对手之一 Anthro…