LeetCode119:杨辉三角II
解析:
此题和之前118类似,只是该题只需要输出第K行即可,因此不需要保存所有行的元素。不再需要定义一个二维数组,只需要定义两个一维数组,用来存储本行和上一行的值就可以了。
代码 :
vector<int> getRow(int rowIndex)
{
vector<int> result;
if (rowIndex < 0)//特殊的两种情况
return result;
result.push_back(1);
if (rowIndex == 0)
return result;
vector<int> lastLine = result;
for (int i = 1; i <= rowIndex; i++)
{
result = vector<int>(i+1, 1);
for (int j = 1; j < i; j++)//每行不超过i+1个元素,每行最后一个元素为1
{
result[j] = lastLine[j - 1] + lastLine[j];
}
lastLine = result;//更新上一行元素
}
return result;
}