当前位置: 首页 > news >正文

北京光辉网站建设哈尔滨企业网站排名

北京光辉网站建设,哈尔滨企业网站排名,射洪网站建设,asp.net是做网站的吗给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 思路:双循环,一个是层数,一个是当前数组的生成;两侧为1,需要边界判断条件…

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

思路:双循环,一个是层数,一个是当前数组的生成;两侧为1,需要边界判断条件;中间生成的公式res[row-1][i-1] + res[row-1][i]为插入数值;

!!!不能直接二位数组插入单个字符元素,可以先生成temp数组,一行结束后讲temp以元素形式插入到res结果数组中。

!!!记得temp清空temp.clear()

#include <iostream>
#include <vector>using namespace std;class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> res;vector<int> 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;vector<vector<int>> 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 <vector>using namespace std;// class Solution {
// public:
//     vector<int> getRow(int rowIndex) {
//         vector<vector<int>> res;
//         vector<int> 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:vector<int> getRow(int rowIndex) {vector<int> 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;vector<int> res = s.getRow(3);for (int i = 0; i < res.size(); i++){cout << res[i] << " ";}cout << endl;return 0;
}

http://www.yayakq.cn/news/707914/

相关文章:

  • 网站开发 所有权网站开发中数据库的功能
  • 建设企业网站收费海天建设集团公司网站
  • 为了找工作做的前端网站哪里有html企业网站模板下载
  • 网站上怎样做超链接互联网基础知识入门
  • 广州网站建设(信科分公司)中铁建设集团有限公司贵州分公司
  • 宝安网站 建设seo信科网站建设需要学代码吗
  • 中国东凤网站制作海外培训视频网站建设
  • 如何造网站软件开发的一般方法步骤
  • 玩具公司网站建设方案浙江海滨建设集团有限公司网站
  • 余姚网站建设怎样用百度做网站优化
  • 先做网站还是服务器太湖县住房和城乡建设网站市建设局
  • 网站建设中服务器和空间区别百度推广方案
  • 个人如何优化网站有哪些方法安庆做网站电话
  • 公司网站百度排名没有了手机网站首页新闻模板
  • 搜索的网站后大拇指分享数量不见了想做一个电影网站该怎么做
  • 高端网站设计图片教师网络培训心得体会
  • 做网站江门wordpress新窗口
  • 抖音seo排名系统中山seo
  • 响应式网站无法做百度联盟北京做网站好公司
  • 盘石做的网站榆林哪里做网站
  • 网站建设南阳软件开发外包合同模板
  • 外贸营销型网站设计注册公司网站的费用
  • 系统下载网站源码wordpress公众号文章
  • 网文封面制作网站途牛网站大数据建设
  • 内部建设网站需要什么条件app的技术框架有哪些
  • 做网站的销售工作好吗一整套ppt背景图片
  • 做ppt的模板的网站做好的网站怎么发布
  • 创立网站广州网站开发公司有哪些
  • 兴义市建设局网站首页卡纸做荷花网站
  • 网站布局 下载工商注册深圳