zoukankan      html  css  js  c++  java
  • [LeetCode] 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 only O(k) extra space?

    求帕斯卡三角形的一行。

    利用帕斯卡三角的性质:除每行最左侧与最右侧的数字以外,每个数字等于它的左上方与右上方两个数字之和。

    所以每一行都是由它的上一行计算得出。可以用一个数组就可以计算帕斯卡三角形的每一行。

    从每一行的最后一个元素开始计算

    res[j] = res[j] + res[j - 1]

    算法过程如图:

    1

    1 1

    1 2 1

    1 3 3 1

    1 4 6 4 1

    。。。。。。

    class Solution {
    public:
        vector<int> getRow(int rowIndex) {
            vector<int> res(rowIndex + 1, 0);
            res[0] = 1;
            for (int i = 1; i <= rowIndex; i++)
                for (int j = i; j > 0; j--)
                    res[j] += res[j - 1];
            return res;
        }
    };
    // 0 ms

     相关题目: [LeetCode] Pascal's Triangle

  • 相关阅读:
    修改CentOs开机启动时的timeout
    各种快捷键
    测试实例异常
    测试实例异常
    springBoot中测试类的头注解
    学习笔记9
    stat命令的实现-mystat
    反汇编测试
    学习笔记7
    openssl截图
  • 原文地址:https://www.cnblogs.com/immjc/p/7560137.html
Copyright © 2011-2022 走看看