/*****************************************************问题描述*************************************************
Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle.
Note that the row index starts from 0.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 3
Output: [1,3,3,1]
Follow up:
Could you optimize your algorithm to use only O(k) extra space?
输出杨辉三角形的第n行
/*****************************************************我的解答*************************************************
/**
* @param {number} rowIndex
* @return {number[]}
*/
//没有优化,需要改进
var getRow = function(rowIndex) {
var retArray = new Array(rowIndex + 1);
for(var index = 0; index < rowIndex + 1; index++)
{
if(index == 0)
{
retArray[index] = [1];
continue;
}
if(index == 1)
{
retArray[index] = [1,1];
continue;
}
if(index == 2)
{
retArray[index] = [1,2,1];
continue;
}
retArray[index] = [];
for(var innerIndex = 0; innerIndex <= index; innerIndex++)
{
if(innerIndex == 0 || innerIndex == index)
{
retArray[index].push(1);
continue;
}
retArray[index].push(retArray[index - 1][innerIndex - 1] + retArray[index - 1][innerIndex]);
}
}
//return retArray;
return retArray[rowIndex];
};
console.log(getRow(3));
leetCode刷题记录19_119_Pascal's Triangle II
最新推荐文章于 2024-05-25 20:57:01 发布