Leetcode数据结构刷题——119. 杨辉三角 II(C++)

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

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

在这里插入图片描述

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

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

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

杨辉三角性质:
每个数字等于上一行的左右两个数字之和,可用此性质写出整个杨辉三角。即第 n 行的第 i 个数等于第 n-1 行的第 i−1 个数和第 i 个数之和。这也是组合数的性质之一,即在这里插入图片描述

    vector<int> getRow(int rowIndex) {
        vector<int> result(rowIndex+1);
        result[0]=1;
        for(int i=1;i<rowIndex+1;i++)
            for(int j=i; j>0; j--)
                result[j]+=result[j-1];
        return result;
    }
### LeetCode 数据结构攻略教程 #### 了解平台特性 为了高效利用LeetCode进行数据结构的学习,拥有一个账号是非常必要的。这不仅有助于记录个人进步轨迹和存储编写过的代码片段,还能更好地融入社区交流环境[^1]。 #### 设定清晰的目标 对于想要通过LeetCode强化数据结构理解的人来说,确立具体而实际可达成的小目标非常重要。这些目标可以围绕着掌握某一类特定的数据结构展开,比如链表操作或是二叉树遍历等;也可以是为了应对即将到来的技术面试做准备。无论哪种情况,都应依据自身的现有基础挑选合适难度级别的习来进行练习[^2]。 #### 合理安排学习路径 当涉及到数据结构领域时,可以从较为简单的概念入手逐渐过渡到复杂主。推荐的一个循序渐进的过程如下: - **基础阶段**:开始于基本类型的目,如数组、字符串处理等问; - **中级阶段**:深入探讨诸如栈、队列、哈希表这样的抽象数据类型及其应用场景; - **高级阶段**:最后攻克像树形结构(包括但不限于二叉查找树)、图论等内容。 这种分层次的方式能够确保知识点被牢固吸收,并建立起完整的知识框架[^3]。 ```python # 示例:实现一个简单的双向链表节点定义 class ListNode: def __init__(self, val=0, prev=None, next_=None): self.val = val self.prev = prev self.next = next_ ``` #### 掌握有效的解方法 除了遵循上述提到的学习路线外,在面对每一个具体的编程挑战之前做好充分准备工作同样不可忽视。阅读官方文档或其他权威资料可以帮助加深对所涉及数据结构的理解程度。另外,多尝试不同的解决方案并对比其优劣之处也是提高解决问效率的有效手段之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值