首页 > 代码库 > LeetCode Pascal's Triangle II
LeetCode Pascal's Triangle II
Given an index k, return the kth row of the Pascal‘s triangle.
For example, given k = 3,
Return [1,3,3,1]
.
Note:
Could you optimize your algorithm to use only O(k) extra space?
解法先参考原来第一题的代码,稍微修改就行。
public class Solution { List<List<Integer>> lastNumberlist = new ArrayList<List<Integer>>(); public List<Integer> getRow(int rowIndex) { rowIndex++; if (rowIndex==0) { return null; } ArrayList<Integer> list=new ArrayList<>(); int num1,num2; list.add(1); lastNumberlist.add(list); if (rowIndex==1) { return lastNumberlist.get(lastNumberlist.size()-1); } list=new ArrayList<>(); list.add(1); list.add(1); lastNumberlist.add(list); if (rowIndex==2) { return lastNumberlist.get(lastNumberlist.size()-1); } for (int i = 3; i <=rowIndex ; i++) { int[] newline=new int[i]; for (int j = 0; j <= i/2; j++) { if (j==0) { newline[j]=1; newline[i-1-j]=1; }else { num1=lastNumberlist.get(lastNumberlist.size()-1).get(j); num2=lastNumberlist.get(lastNumberlist.size()-1).get(j-1); newline[j]=num1+num2; newline[i-1-j]=num1+num2; } } list=new ArrayList<>(); for (int j : newline) { list.add(j); } lastNumberlist.add(list); } return lastNumberlist.get(lastNumberlist.size()-1); }}
LeetCode Pascal's Triangle II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。