Java_12 杨辉三角 II

news2025/1/17 13:49:14

杨辉三角 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.coloradmin.cn/o/1518939.html

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

相关文章

llama2 代码实验记录

torchrun分布式启动&#xff0c;所以要想在云端的环境下在本地的IDE上debug&#xff0c;需要设置一下&#xff0c;具体可以参考这里&#xff0c;需要传入的路径参数全部使用绝对路径。 目录 1、传入的句子 2、tokenizer 的tokenization 3、model的主要组成部分 4、过程中自…

如何关闭 Visual Studio 双击异常高亮

[问题描述]&#xff1a; 最近 Visual Studio 更新后&#xff0c;双击选中关键字快要亮瞎我的眼睛了 &#x1f440;&#x1f440; [解决方法]&#xff1a; 摸索了一下&#xff0c;找到了关闭的方法&#xff1a;工具 → 选项 → 文本编辑器 → 常规&#xff0c;然后取消 勾选 sel…

【进阶五】Python实现SDVRP(需求拆分)常见求解算法——蚁群算法(ACO)

基于python语言&#xff0c;采用经典遗传算法&#xff08;ACO&#xff09;对 需求拆分车辆路径规划问题&#xff08;SDVRP&#xff09; 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整3. 求解结果4. 代码片段参考 往期优质资源 经过一年多的创作&#xff0c;目前已经成熟…

掼蛋俗语40条

1、以牌会友&#xff0c;天长地久 ​2、智慧掼蛋&#xff0c;欢乐无限 ​3、尊重对手&#xff0c;信任队友 ​4、小掼蛋&#xff0c;大世界 ​5、掼蛋敢做主&#xff0c;不会太受苦 ​6、掼蛋不出手&#xff0c;平时定保守 ​7、精彩掼蛋&#xff0c;生活精彩 ​8、细心…

算法打卡day14|二叉树篇03|Leetcode 104.二叉树的最大深度、559.n叉树的最大深度、111.二叉树的最小深度、222.完全二叉树的节点个数

算法题 Leetcode 104.二叉树的最大深度 题目链接:104.二叉树的最大深度 大佬视频讲解&#xff1a;二叉树的最大深度视频讲解 个人思路 可以使用层序遍历&#xff0c;因为层序遍历会有一个层数的计算&#xff0c;最后计算到的层数就是最大深度&#xff1b; 解法 迭代法 就是…

docker 部署nacos

docker 部署nacos 1、配置数据库表 -- 导出 nacos 的数据库结构 DROP DATABASE IF EXISTS nacos; CREATE DATABASE IF NOT EXISTS nacos; USE nacos;-- 导出 表 nacos.config_info 结构 DROP TABLE IF EXISTS config_info; CREATE TABLE IF NOT EXISTS config_info (id bigi…

深入理解TCP的四次分手过程

文章目录 深入理解TCP的四次分手过程四次分手的意义四次分手的工作原理四次分手的重要性实际应用中的考虑结论补充:TIME_WAIT在哪一步?TIME_WAIT状态的目的TIME_WAIT状态的影响 深入理解TCP的四次分手过程 在网络通信中&#xff0c;TCP&#xff08;传输控制协议&#xff09;确…

疫情网课管理系统|基于springboot框架+ Mysql+Java+Tomcat的疫情网课管理系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 ​编辑 学生功能模块 管理员功能 教师功能模块 系统功能设计 数据库E-R图设计 lun…

rtsp流实现web端实时播放(海康+大华)

最近的电力项目需要嵌入海康摄像头画面&#xff0c;之前没有做过类似的流媒体播放&#xff0c;所以有些懵&#xff1b; 海康开放平台的webAPI&#xff0c;有插件还是无插件&#xff0c;都不适合自研web系统的嵌入&#xff0c;所以需要自己进行解流&#xff1b; 首先&#xff0c…

【docker】docker的常用命令

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;中间件 ⛺️稳中求进&#xff0c;晒太阳 常规命令 docker version #查看docker 版本信息docker info #显示docker 的系统信息&#xff0c;包括镜像和容器数量docker --help #查看所有的命…

性能测试-Jmeter常用元件基础使用

一、Jmeter元件 #线程组 添加HTTP请求 #配置元件 配置元件内的元件都是用于进行初始化的东西 #监听器 监听器主要是用来获取我们使用取样器发送请求后的响应数据相关信息 #定时器 定时器主要用来控制我们多久后执行该取样器&#xff08;发送请求&#xff09; #前置处理器 前置处…

解锁海外市场,HubSpot网站建设全攻略

在全球化日益加剧的今天&#xff0c;构建符合海外市场需求的网站已成为企业走向国际化的关键一步。今天运营坛将带领大家认识到全球化意识在网站建设中的重要性&#xff0c;并着重介绍为何选择HubSpot作为构建海外网站的首选工具&#xff0c;同时探讨网站设计和用户体验的关键因…

使用el-row及el-col页面缩放时出现空行解决方案

问题&#xff1a; 当缩放到90%或者110%&#xff0c;选中下拉后&#xff0c;下方就会出现空行 如下图所示&#xff1a; 关于el-row 和 el-col &#xff1a; 参数说明类型可选值默认值span栅格占据的列数number—24offset栅格左侧的间隔格数number—0push栅格向右移动格数number…

计算机网络 谢希仁(001-2)

计算机网络-方老师 总时长 24:45:00 共50个视频&#xff0c;6个模块 此文章包含1.5到1.7的内容 1.5计算机网络类别 连通 共享 分类方法 广域网是边缘部分和核心部分的核心部分 以前是拨号连接 现在是光纤 总线型 星型 环形网 1.6计算机网络的性能 带上单位之后就不是…

MySQL删除数据 文件大小不变的原因以及处理空洞问题

数据删除流程 InnoDB 里的数据都是用 B 树的结构组织的。 假设&#xff0c;我们要删掉 R4 这个记录&#xff0c;InnoDB 引擎只会把 R4 这个记录标记为删除。如果之后要再插入一个 ID 在 300 和 600 之间的记录时&#xff0c;可能会复用这个位置。但是&#xff0c;磁盘文件的大…

寻找用户痛点塑造产品价值 4大注意事项

移动互联网时代&#xff0c;用户价值不言而喻&#xff0c;只有拥有用户思维&#xff0c;寻找到用户痛点&#xff0c;塑造出产品价值&#xff0c;才能打造出爆款产品。因此要塑造产品价值&#xff0c;核心是寻找用户痛点。如果没有找到用户痛点&#xff0c;意味着产品无法满足用…

鸿蒙原生应用再添一批新丁!阿里旗下11款应用、广汽传祺、岚图汽车、零跑汽车、凯翼汽车 入局鸿蒙

鸿蒙原生应用再添一批新丁&#xff01;阿里旗下11款应用、广汽传祺、岚图汽车、零跑汽车、凯翼汽车 入局鸿蒙 来自 HarmonyOS 微博近期消息&#xff0c;阿里旗下闲鱼、1688、飞猪、饿了么、盒马、菜鸟、点淘、淘宝特价版、大麦、淘票票、灯塔专业版共11款大家耳熟能详的应用今…

vue防止用户连续点击造成多次提交

中心思想&#xff1a;在第一次提交的结果返回前&#xff0c;将提交按钮禁用。 方法一&#xff1a;给提交按钮加上disabled属性&#xff0c;在请求时先把disabled属性改成true&#xff0c;在结果返回时改成false 方法二&#xff1a;添加loading遮罩层&#xff0c;可以直接使用e…

【Vue3】路由的query参数和params参数

&#x1f497;&#x1f497;&#x1f497;欢迎来到我的博客&#xff0c;你将找到有关如何使用技术解决问题的文章&#xff0c;也会找到某个技术的学习路线。无论你是何种职业&#xff0c;我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章&#xff0c;也欢…

计算机毕业设计-神经网络算法及对未来一月的天气状况预测系统

概要 随着对气象各项数据的观测手段、技术上的提升&#xff0c;对于各项或取得数据种类&#xff0c;精度上都有着更好的超越&#xff0c;而对于气象温度进行预测是目前预测数据中最重要的需要解决的问题之一。 针对如何选择预测一个月内的天气情况&#xff0c;本次利用神经网络…