【Leetcode 每日一题】119. 杨辉三角 II

server/2025/2/3 17:41:27/

问题背景

给定一个非负索引 r o w I n d e x rowIndex rowIndex,返回「杨辉三角」的第 r o w I n d e x rowIndex rowIndex 行。
在「杨辉三角」中,每个数是它左上方和右上方的数的和。

数据约束

  • 0 ≤ r o w I n d e x ≤ 33 0 \le rowIndex \le 33 0rowIndex33

解题过程

这题其实之前做过,定义列表并且按规则计算对应位置上的值即可。
另外考虑到要求的结果范围有限,也可以先打表,根据实际情况返回结果。这种做法严格地说来不符合 O ( r o w I n d e x ) O(rowIndex) O(rowIndex) 的空间要求,但其实效率非常不错。

具体实现

模拟计算

class Solution {public List<Integer> getRow(int rowIndex) {if (rowIndex == 0) {return List.of(1);}List<Integer> pre = new ArrayList<>();pre.add(1);pre.add(1);List<Integer> res;while (--rowIndex > 0) {res  = new ArrayList<>(pre);for (int i = 1; i < pre.size(); i++) {res.set(i, pre.get(i - 1) + pre.get(i));}res.add(1);pre = new ArrayList<>(res);}return pre;}
}

打表预处理

class Solution {private static final int MAX_N = 34;private static final List<Integer>[] res = new List[MAX_N];static {res[0] = List.of(1);for (int i = 1; i < res.length; i++) {List<Integer> row = new ArrayList<>(i + 1);row.add(1);for (int j = 1; j < i; j++) {row.add(res[i - 1].get(j - 1) + res[i - 1].get(j));}row.add(1);res[i] = row;}}public List<Integer> getRow(int rowIndex) {return res[rowIndex];}
}

http://www.ppmy.cn/server/164668.html

相关文章

Linux学习之DNS基础服务器搭建

一、DNS服务器概述 1.dns服务主要的功能是将域名转换为相应的ip地址&#xff0c;提供dns服务的系统就是dns服务器 2.dns服务器分为3种&#xff1a; 主域名服务器&#xff1a;本身提供dns服务&#xff0c;不含区域数据文件 辅助域名服务器&#xff1a;和主域名服务器一起提供dns…

3D 对象的属性

JavaFX - Cull Face 属性 JavaFX 还为 3D 对象提供了各种属性。这些属性的范围包括确定形状的材料&#xff1a;内部和外部、渲染 3D 对象几何图形和剔除 3D 形状的面。 提供所有这些属性是为了即兴创作 3D 对象的外观和感觉;并检查适合应用程序的内容并应用它们。 Cull Face…

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能&#xff08;AI&#xff09; 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例&#xff1a;开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…

Visual Basic语言的云计算

以Visual Basic语言的云计算 引言 随着信息技术的快速发展&#xff0c;云计算已逐渐成为现代企业和个人用户的重要选择。它提供了高效、灵活和可扩展的计算资源&#xff0c;彻底改变了传统计算的模式。与此同时&#xff0c;Visual Basic&#xff08;VB&#xff09;作为一种易…

unity学习26:用Input接口去监测: 鼠标,键盘,虚拟轴,虚拟按键

目录 1 用Input接口去监测&#xff1a;鼠标&#xff0c;键盘&#xff0c;虚拟轴&#xff0c;虚拟按键 2 鼠标 MouseButton 事件 2.1 鼠标的基本操作 2.2 测试代码 2.3 测试情况 3 键盘Key事件 3.1 键盘的枚举方式 3.2 测试代码同上 3.3 测试代码同上 3.4 测试结果 4…

基于语义-拓扑-度量表征引导的大语言模型推理的空中视觉语言导航

1. 摘要翻译及主要贡献点 摘要&#xff1a; 空中视觉语言导航&#xff08;VLN&#xff09;是一项新兴任务&#xff0c;它使无人机能够通过自然语言指令和视觉线索在户外环境中导航。由于户外空中场景中复杂的空间关系&#xff0c;这项任务仍然具有挑战性。本文提出了一种端到…

车载软件架构 --- 基于AUTOSAR软件架构的ECU开发流程小白篇

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…

LVM 逻辑卷管理

LVM介绍 管理磁盘、使用磁盘的一种方式的称呼 优势&#xff1a; 1、在不影响数据的情况下&#xff0c;随意扩容、缩容 2、支持快照功能&#xff0c;方便数据备份 LVM工作流程 磁盘/分区 ....> pv&#xff08;物理卷&#xff09;....> vg&#xff08;卷组&#xff09;...…