【LeetCode】解题119:Pascal's Triangle II

当银行不同期限存款的年利率不同时,求从银行得到的利息与本金的合计。 #include <stdio.h> #include <stdlib.h>int main() { int years; float capitai,deposit,rate; scanf("%d",&years); scanf("%f",&capitai); switch(years) { case 1: rate=0.02 阅读详情

Problem 119: Pascal’s Triangle II [Easy]

Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal’s triangle.

Note that the row index starts from 0.


In Pascal’s triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 3
Output: [1,3,3,1]

Follow up:

Could you optimize your algorithm to use only O(k) extra space?

来源:LeetCode

解题思路

在上一题题解118:Pascal’s Triangle中,计算每一层都保留了上一层的结果,空间复杂度为 O ( 2 k ) O(2k) O(2k)。本题中要求只使用 O ( k ) O(k) O(k)的额外空间,则可以进一步使用动态规划的思想,只需保存一个数组,每一层计算时从后往前计算,num(j)只需要用到num(j)和num(j-1),而且修改num(j)后不会影响到num(j-1)的计算,因此只需要 O ( k ) O(k) O(k)的空间即可。
原118题的公式为:
n u m ( i , j ) = { 1 j = 0 ; 1 j = i ; n u m ( i − 1 , j − 1 ) + n u m ( i − 1 , j ) o t h e r w i s e . num(i, j) = \begin{cases} 1 & j = 0;\\ 1 & j = i;\\ num(i-1, j-1) + num(i-1, j) & otherwise. \end{cases} num(i,j)=⎩⎪⎨⎪⎧​11num(i−1,j−1)+num(i−1,j)​j=0;j=i;otherwise.​
其中, n u m ( i , j ) num(i,j) num(i,j)代表第 i i i层第 j j j个数。
更新后的公式为:
n u m ( j ) = { 1 j = 0 ; 1 j = i ; n u m ( j − 1 ) + n u m ( j ) o t h e r w i s e . num(j) = \begin{cases} 1 & j = 0;\\ 1 & j = i;\\ num(j-1) + num(j) & otherwise. \end{cases} num(j)=⎩⎪⎨⎪⎧​11num(j−1)+num(j)​j=0;j=i;otherwise.​
其中, i i i代表层数, n u m ( j ) num(j) num(j)代表每一层第 j j j个数,数组 n u m num num的更新是in-place的。

运行结果:
在这里插入图片描述
要点:动态规划

Solution (Java)

class Solution {
    public List<Integer> getRow(int rowIndex) {
        int[] num = new int[rowIndex+1];
        for(int i = 0; i < rowIndex+1; i++){
            num[i] = 1;
            for(int j = i-1; j > 0; j--){
                num[j] = num[j] + num[j-1];
            }
            num[0] = 1;
        }
        return Arrays.stream(num).boxed().collect(Collectors.toList());
    }
}
【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第9套模块A:网络构建 & (三)无线网络配置+(四)出口网络配置-命令配置 阅读详情

相关推荐

汇川伺服驱动器参数优化实战指南

本文详细介绍了汇川伺服驱动器参数优化的实战技巧,涵盖控制模式选择、电子齿轮比调整、刚性匹配与振动抑制等关键内容。通过实际案例和实用技巧,帮助工程师快速掌握伺服驱动器参数调校方法,提升设备运行精度和稳定性。特别针对高精度定位和高速响应场景提供了专业指导。

weixin_29070721的博客 730

已知银行整存整取存款不同期限的年息利率分别为

已知银行整存整取存款不同期限的年息利率分别为: 年利息率=⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪2.25%2.43%2.70%2.88%3.00%期限1年期限2年期限3年期限5年期限8年 要求输入存钱的期限和本金,求到期时能从银行得到的本金和复利的合计。 **输入格式要求:"%d,%lf" 提示信息:"Please enter year,capital:" **输出格式要求:"rate = %lf, deposit = %lf\n",输入错误时显示"Error rate!\n" 程序运行示例1如下: Please .

weixin_45791740的博客 8625

linux和mac安装+配置circos(

一定要下载完这两个包,GD才会work,要不然会报错,且-modules显示也是fail。官网的教程说的很明白,但是很多包都已经过时了需要在网上找。一般来讲,所有包的安装都不会太困难,除了GD。1.是因为官网给的链接下出来的tgz无法解压。2.我的电脑安装后GD照样是fail的。,进入这个地址下一个.tgz。第二点的原因在于,官网的情况。,进入这个地址,按部就班。GD安装困难有以下几点。搞了一天终于配置成功。

xiufan1的博客 549

C语言编程 5.4 已知银行整存整取不同期限存款的年息利率分别为:一年 2.25% 两年 2.43% 三年 2.70% 五年 2.88% 八年 3.00% 并输出与利息之和

#include&lt;stdio.h&gt;  main() {     float a=1,b=2,d=3,e=5,f=8,p;     char q;     printf("请输入本金,与存储年限");     scanf("%f %d",&amp;p,&amp;q);     switch(q)     {     case 1: p=p+p*q*0.0025;break; ...

莫比乌斯环的博客 3万+

ICG setup timing violation介绍?

门控时钟(clock gating)在RTL级电路设计过程中进行低功耗优化常用方法,能够有效降低动态功耗(翻转功耗)。Clock gating cell 可以由与门,与非门,或门或者或非门构成,但很容易产生Glitch。在实际使用中,一般用ICG(集成门控时钟单元)来完成clock gating。 下图展示了glitch的产生原因 在CTS时钟树综合的时候,ICG不会被看作sink,通常放置在source点附近,因此就会出现如上图这种结果。上图可以看出,在分析DFF到ICG的setup timing

m0_61003348的博客 9801

【图像增强(Image Enhancement )】专栏的相关说明,包含适配人群、专栏简介、专栏亮点、阅读方法、定价理由、品质承诺、关于更新、关于答疑、文章目录、与我联系等(持续更新中...)

专栏内涉及的算法都是基于深度学习的图像增强算法;收录的文章基本上是基于Pytorch框架实现的,部分基于Tensorflow;预计完成100篇论文,并持续更新;专栏内文章主要为两部分:【论文精读】与【论文复现】论文精读:读懂论文,总结提炼,聚焦核心内容,不只是全文翻译论文复现:跑通流程,源码解析,提升代码能力,得到去噪结果以及指标计算综合而言,从大到小拆解模型结构,从小到大实现模型搭建。实现论文与源码的统一,深入理解论文行文逻辑与代码实现逻辑,融汇贯通二者思想,并学以致用。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 4050

假设银行整存整限不同期限的年息利率分别是:年息利率:1.9%期限1年 2.25%期限2年 2.7%期限3年 3.55%期限4年 4.90%期限5年 要求输入存钱的本金和期限,求到期时能从银行得到的利

3.假设银行整存整限不同期限的年息利率分别是:年息利率:1.9%期限1年 2.25%期限2年 2.7%期限3年 3.55%期限4年 4.90%期限5年 要求输入存钱的本金和期限,求到期时能从银行得到的利息和本金的总和。 #include<stdio.h> void main() { double t,sum; int i,n; printf("请输入本金\n"); scanf("%lf",&sum); printf("请输入期限\n"); scanf("%d",&...

weixin_55126656的博客 2879

让 Claude Code 接管 SAP 事务流, 用 Python 和 SAP GUI Scripting 做一个真正能干活的 AI Agent

摘要:SAP系统自动化面临的核心瓶颈在于繁琐的GUI操作而非分析能力不足。通过整合Claude AI、Python和SAP GUI Scripting技术,可构建能直接操作SAP界面的智能代理。该方案利用SAP官方提供的脚本接口,实现事务码执行、界面导航、数据提取等自动化操作,特别适用于DMLT过账引擎等复杂错误分析场景。相比传统SQL导出方案,这种GUI级自动化能处理树控件、ALV表格等复杂界面元素,且无需额外API开发,直接在现有SAP GUI会话上工作,在保持原有权限体系的同时显著提升效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 317

C语言—选择控制结构 已知银行整存整取存款不同期限的年息利率 要求输入存钱的期限和本金,求到期时能从银行得到的本金和复利的合计。

已知银行整存整取存款不同期限的年息利率分别为: 要求输入存钱的期限和本金,求到期时能从银行得到的本金和复利的合计。 **输入格式要求:"%d,%lf" 提示信息:"Please enter year,capital:" **输出格式要求:"rate = %lf, deposit = %lf\n",输入错误时显示"Error rate!\n" 程序运行示例1如下: Please enter year,capital:2,10000↙ rate = 0.024300, deposit = 10491..

WZY22502701的博客 8208

飞牛fnNAS虚拟机标准安装

飞牛NAS是一款基于Debian开发的国产免费NAS系统,支持x86架构设备,可将闲置硬件改造为NAS服务器。系统安装简便,支持多种存储模式与硬盘休眠功能,具备智能影视管理、照片备份等实用功能,并提供多种远程访问方式。飞牛NAS还支持Docker扩展,目前已承诺永久免费。文章详细介绍了在VMware虚拟机中安装飞牛NAS的步骤,包括下载镜像、创建虚拟机、初始化设置等过程,并展示了创建共享文件夹等基本操作,帮助用户快速上手这款功能强大的免费NAS系统。

dgnankai的专栏 3254

Open3D点云数据处理(五):点云、mesh可视化(draw_geometries方法)

本文介绍了Open3D中的draw_geometries可视化方法,可以用于可视化点云和mesh。详细讲述了该方法的各个参数的作用,给出了代码示例。

孙悟空 3137

LeetCode 119. Pascal's Triangle II(杨辉三角II) -- c语言

119. Pascal's Triangle II Given a non-negativeindexkwherek≤33, return thekthindex row of the Pascal's triangle. Note that the row index starts from0. In Pascal's triangle, each number is ...

d_benhua的博客 441

AI应用质量工程实践:从评估到监控的完整体系构建

在软件工程领域,质量保障体系是确保产品稳定可靠的核心机制,涉及度量指标、保障流程和工具链的完整闭环。随着生成式AI应用的快速发展,如何将传统软件工程中的质量门禁思想引入AI领域,成为工程实践的关键挑战。其核心原理在于构建可量化、可监控、可改进的质量评估框架,通过自动化测试、持续监控和反馈优化来管理AI输出的不确定性。这一技术价值在于将AI应用从原型阶段推向产品化,确保输出的一致性、安全性和可靠性。在实际应用场景中,开发者需要从功能性、非功能性、一致性和合规性四个维度构建评估体系,并借助LLM-as-a-Ju

weixin_28728279的博客 293

119. Pascal‘s Triangle II*

119. Pascal’s Triangle II* https://leetcode.com/problems/pascals-triangle-ii/ 题目描述 Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal’s triangle. Note that the row index...

珍妮的选择的博客 271

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Leetcode 119 Pascal's Triangle II(水)

题目连接:Leetcode 119 Pascal's Triangle II解题思路:空间复杂度可以优化到o(n),每次在数组末尾追加一个1,然后从右往左遍历,每个数加上它前一个数。这样的操作执行n次。class Solution { public: vector&lt;int&gt; getRow(int rowIndex) { vector&lt;int&gt; ans; a...

不慌不忙、不急不躁 241

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

119. Pascal's Triangle II

题目119. Pascal’s Triangle II解题思路先去百度一下Pascal’s Triangle是什么玩意,然后可以发现每一行左右两边都有1,中间的数字是上一层数字相加,所以就搞个循环来就行了。(因为思路简单就不多加解释了,多出的时间留着去刷leetcode(逃具体代码class Solution { public: vector<int> getRow(int rowIndex

weixin_40149887的博客 188

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【LeetCode with JavaScript】119. Pascal’s Triangle II

原题网址:https://leetcode.com/problems/pascals-triangle-ii 难度:Easy 问题 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 Example: 输入: 3 输出: [1,3,3,1] Follow up: 你可以优化你的算法到 O(k) 空间复杂...

zwkkkk1的博客 641

Leetcode 119. Pascal's Triangle II 杨辉三角2 解题报告

1 解题思想首先注意下第一题:Leetcode 118. Pascal’s Triangle 杨辉三角 解题报告 这题只要求输出第k层的数,最好优化到O(k)的空间复杂度。其实杨辉三角本身就不需要那么多空间,计算当前层的数只需要有上一层的结果就好,所以用两个数组(or List)不停狡猾就可以。2 原题Given an index k, return the kth row of the Pasca

MebiuW的专栏 2058

LeetCode 119. Pascal's Triangle II

LeetCode 119. Pascal’s Triangle IIDescription: Given an index k, return the kth row of the Pascal’s triangle. For example, given k = 3, Return [1,3,3,1]. 分析: 可以在118题修改一下,返回res[rowIndex]即可。具

My Blog 169

Java [Leetcode 119]Pascal's Triangle II

题目描述: Given an indexk, return thekthrow of the Pascal's triangle. For example, givenk= 3,Return[1,3,3,1]. 解题思路: 每次在上一个list前面插入1,然后后面的每两个间相加赋值给前一个数。 代码描述: public class Solution { ...

dkk37351的博客 177

【LeetCode】Pascal's Triangle II(杨辉三角 II)

这道题是LeetCode里的第119道题。 题目描述: 给定一个非负索引k,其中k≤33,返回杨辉三角的第k行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到O(k) 空间复杂度吗? 直接把 118 的拿过来改改就行了呗!偷懒可以,但是该学的算法还是得学啊! 其实这题可以算...

『诞生之时已至,以此修正万象』 213

【leetcode】119-Pascal's Triangle II

problem 119. Pascal's Triangle II code class Solution { public: vector<int> getRow(int rowIndex) { vector<int> res(rowIndex+1, 1); if(rowIndex<2) return ...

weixin_30502157的博客 76

LeetCode 118. Pascal's Triangle(杨辉三角) -- c语言

118. Pascal's Triangle Given a non-negative integernumRows, generate the firstnumRowsof Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it. Exa...

d_benhua的博客 977

LeetCode: 119. Pascal's Triangle II

LeetCode: 119. Pascal’s Triangle II 题目描述 Given an index k, return the kth row of the Pascal’s triangle. For example, given k = 3, Return [1,3,3,1]. Note: Could you optimize your algorithm to use...

杨领well的专栏 660

【LeetCode】119.Pascal's Triangle II(Easy)解题报告

【LeetCode】119.Pascal’s Triangle II(Easy)解题报告题目地址:https://leetcode.com/problems/pascals-triangle-ii/description/ 题目描述:   Given an index k, return the kth row of the Pascal’s triangle.   For exampl

郝春雨的博客 209
上一篇: 【LeetCode】解题118:Pascal's Triangle
下一篇: 【LeetCode】解题120:Triangle
Fayedy
博客等级 码龄11年 2粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值