阅读量:114
以下是用C++实现杨辉三角形的高效方法:
#include
#include
std::vectorint>> generateYanghuiTriangle(int numRows) {
std::vectorint>> triangle(numRows);
for (int i = 0; i < numRows class="hljs-built_in">resize(i + 1);
triangle[i][0] = triangle[i][i] = 1;
for (int j = 1; j < i xss=removed class="hljs-number">1][j - 1] + triangle[i - 1][j];
}
}
return triangle;
}
int main() {
int numRows = 5;
std::vectorint>> triangle = generateYanghuiTriangle(numRows);
for (int i = 0; i < numRows class="hljs-keyword">for (int j = 0; j <= i; j++) {
std::cout << triangle class="hljs-string">" ";
}
std::cout << std class="hljs-keyword">return 0;
}
这段代码使用了一个二维vector来存储杨辉三角形中的元素,并且在生成每一行时只需要参考上一行的元素,从而实现了高效的计算。同时,该代码也避免了重复计算,提高了效率。最后,通过循环遍历输出每一行的元素,完成了整个杨辉三角形的打印。