一:解题思路
这个题目和之前做过一道杨辉三角题目很类似,那个题目是要你求出所有的行数,而这个题目是需要你求出第几行。最优解:Time:O(n^2),Space:O(1)
二:完整代码示例 (C++版和Java版)
C++:
class Solution { public: vector<int> getRow(int rowIndex) { vector<int> row(rowIndex+1,-1); row[0] = 1; for (int i = 0; i <= rowIndex; i++) { row[i] = 1; for (int j = i - 1; j > 0; j--) { row[j] = row[j - 1] + row[j]; } } return row; } };
Java:
class Solution { public List<Integer> getRow(int rowIndex) { Integer[] row=new Integer[rowIndex+1]; row[0]=1; for(int i=0;i<=rowIndex;i++) { row[i]=1; for(int j=i-1;j>0;j--) { row[j]=row[j-1]+row[j]; } } return Arrays.asList(row); } }
p97 帕斯卡三角形的第 K 行(leetcode 119)
原文:https://www.cnblogs.com/repinkply/p/12653811.html