日野弥生:勉強しよう

LeetCode 119 - 杨辉三角 II

发表于2025年01月06日

#数组 #双指针

根据杨辉三角的每行数据的个数都等于行数的数学设定,确定向量的长度。其次,如果是前两行数据,进行特殊处理。 经过观察发现从第一个数字累加到倒数第二个数字的和,构成倒数第二个数字的结果,以此递推可以求出非边界的所有数据。 利用快慢指针的思想,慢指针在快指针和首位数字之间不断递增,只到双指针相遇后,重新递增。 循环体的条件在于快指针是否返回到第一个数字。

class Solution {
public:
    vector<int> getRow(int rowIndex)
     {
        vector<int> result(rowIndex+1,1);
        if(rowIndex<2)
            return result;
        int i=1,j=rowIndex;
        while(j>1)
        {
            result[i]+=result[i-1];
            i++;
            if(i==j)
            {
                j--;
                i=1;
            }
        }
        return result;
    }
};

フラッシュタブ:LeetCode

题目链接:https://leetcode.cn/problems/pascals-triangle-ii/

上一篇

LeetCode 118 - 杨辉三角

下一篇

LeetCode 153 - 寻找旋转排序数组中的最小值