[Leetcode]Pascal's Triangle
来源:互联网 发布:网络改造 编辑:程序博客网 时间:2024/06/18 12:14
题目:
Pascal's Triangle
Given numRows, generate the first numRows of Pascal's triangle.
For example, given numRows = 5,
Return
[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]
来源:https://oj.leetcode.com/problems/pascals-triangle/
思路:
很基本的杨辉三角
C++ AC代码:
class Solution {public: vector<vector<int> > generate(int numRows) { vector<vector<int> > result; if(numRows <= 0) return result; vector<int> tmp,nowrow; nowrow.push_back(1); result.push_back(nowrow); for(int i=1;i<numRows;i++) //第二行起 { tmp.clear(); tmp.push_back(1); //每行的头数字 for(int j=1;j<i;j++) tmp.push_back(nowrow[j-1] + nowrow[j]); //每行中间的数字 tmp.push_back(1); //每行的尾数字 nowrow = tmp; result.push_back(nowrow); } return result; }};
另一种方法:
class Solution {public: vector<vector<int> > generate(int numRows) { vector<vector<int> > result; if(numRows <= 0) return result; vector<int> tmp; tmp.push_back(1); result.push_back(tmp);if(numRows == 1) return result;tmp.clear(); tmp.push_back(1); tmp.push_back(1); result.push_back(tmp); if(numRows==2) return result; for(int i=2;i<numRows;i++) { tmp.clear(); tmp.push_back(1); //每行的头数字 for(int j=1;j<i;j++) tmp.push_back(result[i-1][j-1] + result[i-1][j]); //每行中间的数字 tmp.push_back(1); //每行的尾数字 result.push_back(tmp); } return result; }};
运行时间4ms
最近忙着实习,一直没空做LeetCode。看来周末一定要得抽时间做了,要不然到时又白瞎了。。。
0 0
- 【Leetcode】Pascal's Triangle (Pascal)
- LeetCode Pascal's Triangle
- [Leetcode] Pascal's Triangle
- LeetCode: Pascal's Triangle
- [LeetCode] Pascal's Triangle
- 【leetcode】Pascal's Triangle
- LeetCode - Pascal's Triangle
- [LeetCode]Pascal's Triangle
- Leetcode: Pascal's Triangle
- Pascal's Triangle --Leetcode
- LeetCode-Pascal's Triangle
- [leetcode] Pascal's Triangle
- LeetCode - Pascal's Triangle
- 【leetcode】Pascal's Triangle
- LeetCode | Pascal's Triangle
- Pascal's Triangle -leetcode
- [leetcode]Pascal's Triangle
- Leetcode Pascal's Triangle
- volatile
- 我的几个小模板
- poj.1416
- 《Struts2技术内幕》 新书部分篇章连载(一)—— 如何学习开源框架
- 进程间通讯方式以及各个方式的优缺点
- [Leetcode]Pascal's Triangle
- poj1125 Stockbroker Grapevine 图论,任意两点间最短路径,floyd
- Vim切换文件
- POJ 1287:Networking(最小生成树Kruskal)
- TeamViewer经验介绍
- POJ 1837 Balance DP
- OpenEIM模式中的里氏代换原则【策略模代】
- Codeforces Round #1C Ancient Berland Circus
- 区间Dp 暴力枚举+动态规划 Hdu1081