[LeetCode]--118. Pascal's Triangle
来源:互联网 发布:网络红人欲猫儿 编辑:程序博客网 时间:2024/04/29 12:21
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]]
我是用数组做的,在草稿纸上稍微画一画应该就能找到数组下标的规律。
public List<List<Integer>> generate(int numRows) { List<Integer> list = new ArrayList<Integer>(); List<List<Integer>> resultList = new ArrayList<List<Integer>>(); int[][] temp = new int[numRows][numRows]; for (int i = 0; i < numRows; i++) { temp[i][0] = 1; temp[i][i] = 1; for (int j = 0; j <= i; j++) { if (j < i && i > 1 && j > 0) temp[i][j] = temp[i - 1][j - 1] + temp[i - 1][j]; list.add(temp[i][j]); } resultList.add(list); list = new ArrayList<Integer>(); } return resultList; }
看了网上的解答:
public ArrayList<ArrayList<Integer>> generate(int numRows) { ArrayList<ArrayList<Integer>> rst = new ArrayList<ArrayList<Integer>>(); if (numRows == 0) { return rst; } ArrayList<Integer> first = new ArrayList<Integer>(); first.add(0, 1); rst.add(first); for (int i = 1; i < numRows; i++) { ArrayList<Integer> tmp = new ArrayList<Integer>(i + 1); for (int j = 0; j < i + 1; j++){ tmp.add(-1); } ArrayList<Integer> prev = rst.get(i - 1); tmp.set(0, prev.get(0)); tmp.set(i, prev.get(i - 1)); for (int j = 1; j < i; j++){ tmp.set(j, prev.get(j - 1)+prev.get(j)); } rst.add(tmp); } return rst; }
是不是还没有我的那个好,哈哈哈,一看就是三层for循环。
0 0
- LeetCode 118. Pascal's Triangle
- [LeetCode]118.Pascal's Triangle
- 【LeetCode】118.Pascal's Triangle
- [Leetcode] 118. Pascal's Triangle
- 【leetcode】118. Pascal's Triangle
- 【Leetcode】118. Pascal's Triangle
- 118. Pascal's Triangle LeetCode
- 【LeetCode】118. Pascal's Triangle
- [LeetCode]118. Pascal's Triangle
- Leetcode 118. Pascal's Triangle
- LeetCode *** 118. Pascal's Triangle
- leetcode 118. Pascal's Triangle
- LeetCode 118. Pascal's Triangle
- leetcode-118. Pascal's Triangle
- 118.[Leetcode]Pascal's Triangle
- LeetCode 118. Pascal's Triangle
- 【leetcode】118. Pascal's Triangle
- LeetCode - 118. Pascal's Triangle
- 2016 ccpc长春现场赛J Sequence II(hdu 5919)
- Java实现快速排序
- 微信开发(从申请到上线的一整套流程)第二章 启用开发模式
- 爬取吉他谱并生成pdf
- C 语言句柄handle
- [LeetCode]--118. Pascal's Triangle
- iOS开发bug消灭之:Could not cast value of type 'UINavigationController' to 'RedShirt.AddEmployeeTableVi...
- GetStdHandle
- ASP.NET MVC应用程序中实现国际化(结合使用AngularJS)
- CF 375(div 2) F题
- Android-屏幕知识总结
- 读书笔记
- ACM各种WA的说明及可能的原因
- Sourcetree安装及使用注意事项