Leetcode 119. 杨辉三角 II

主要思路:先将杨辉三角的二维数组预处理出来,再根据题目要求,求出rowIndex行。

Python:

python 复制代码
class Solution:
    def getRow(self, rowIndex: int) -> List[int]:
        yh_trigle = [[0] * 34 for _ in range(34)]
        for i in range(34):
            yh_trigle[i][i] = 1
            yh_trigle[i][0] = 1
            for j in range(1, i):
                yh_trigle[i][j] = yh_trigle[i - 1][j] + yh_trigle[i - 1][j - 1]
        return yh_trigle[rowIndex][0: rowIndex + 1]

C++:(自己写的老出现越界的情况,实在不明白!!!,以下参考了灵神的代码,但是我的思路是一样的)

cpp 复制代码
const int MX = 34;
vector<int> c[MX];

auto init = []() {
    for (int i = 0; i < MX; i++) {
        c[i].resize(i + 1, 1);
        for (int j = 1; j < i; j++) {
            // 左上方的数 + 正上方的数
            c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
        }
    }
    return 0;
}();

class Solution {
public:
    vector<int> getRow(int rowIndex) {
        return c[rowIndex];
    }
};

加油!!!

相关推荐
tankeven1 分钟前
HJ127 小红的双生串
c++·算法
Fcy6483 分钟前
与链表有关的算法题
数据结构·算法·链表
KerwinChou_CN5 分钟前
LangGraph 快速入门
服务器·网络·算法
MoRanzhi120319 分钟前
Pillow 图像算术运算与通道计算
图像处理·人工智能·python·计算机视觉·pillow·图像差异检测·图像算术运算
安之若素.re23 分钟前
918. 环形子数组的最大和
算法
阿阿阿阿里郎26 分钟前
ROS2快速入门--C++基础
开发语言·c++·算法
free-elcmacom28 分钟前
C++<x>new和delete
开发语言·c++·算法
lxh011330 分钟前
计算右侧小于当前元素的个数 题解
javascript·数据结构·算法
ouliten32 分钟前
[CUTLASS笔记2]host端工具类
c++·笔记·cuda·cutlass
程序喵大人33 分钟前
map的[]运算符,这个看似方便的语法,藏着怎样的魔鬼?
开发语言·c++·map·运算符