建设项目公示网站,建筑公司名称大全,wordpress能多人登录,仙桃网站建设给定一个非负整数 numRows#xff0c;生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中#xff0c;每个数是它左上方和右上方的数的和。 思路#xff1a;双循环#xff0c;一个是层数#xff0c;一个是当前数组的生成#xff1b;两侧为1#xff0c;需要边界判断条件…给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。
在「杨辉三角」中每个数是它左上方和右上方的数的和。 思路双循环一个是层数一个是当前数组的生成两侧为1需要边界判断条件中间生成的公式res[row-1][i-1] res[row-1][i]为插入数值
不能直接二位数组插入单个字符元素可以先生成temp数组一行结束后讲temp以元素形式插入到res结果数组中。
记得temp清空temp.clear() #include iostream
#include vectorusing namespace std;class Solution {
public:vectorvectorint generate(int numRows) {vectorvectorint res;vectorint temp;for (int row 0; row numRows; row){for (int i 0; i row 1; i){if (i 0 || i row){temp.push_back(1);}else{temp.push_back(res[row-1][i-1] res[row-1][i]);}}res.push_back(temp); // 保存前一行temp.clear(); // 清空临时数组}return res;}
};int main(){Solution s;vectorvectorint res s.generate(5);cout [;for (auto i : res){if (i res[0]) cout [;else cout ,[;for (auto j : i){if (j i[0]) cout j;else cout , j;}cout ];}cout ];return 0;
} 给定一个非负索引 rowIndex返回「杨辉三角」的第 rowIndex 行。
在「杨辉三角」中每个数是它左上方和右上方的数的和。 思路在原有基础上改进的算法就是输出最后一行浪费资源时间复杂度较高
看了示例代码才知道杨辉三角可以推导不得不说单循环遍历就够了直接生成 #include iostream
#include vectorusing namespace std;// class Solution {
// public:
// vectorint getRow(int rowIndex) {
// vectorvectorint res;
// vectorint temp;
// for (int row 0; row rowIndex; row){
// for (int i 0; i row; i){
// if (i 0 || i row){
// temp.push_back(1);
// }
// else{
// temp.push_back(res[row-1][i-1] res[row-1][i]);
// }
// }
// res.push_back(temp); // 保存前一行
// temp.clear(); // 清空临时数组
// }
// return res[rowIndex];
// }
// };class Solution {
public:vectorint getRow(int rowIndex) {vectorint ans {1};long long c rowIndex;int n rowIndex;for (int i 1; i rowIndex;) {ans.push_back(c);c * --n;c / i;}return ans;}
};
int main(){Solution s;vectorint res s.getRow(3);for (int i 0; i res.size(); i){cout res[i] ;}cout endl;return 0;
}