首页 > 代码库 > [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?
Solution 1: 直接利用数学公式来求解。
1 public class Solution { 2 public List<Integer> getRow(int rowIndex) { 3 List<Integer> result = new ArrayList<Integer>(); 4 if (rowIndex < 0) 5 return result; 6 7 for(int i=0;i<rowIndex;++i){ 8 int a=getNumber(rowIndex,i); 9 result.add(a);10 }11 result.add(1);12 return result;13 }14 15 private int getNumber(int rowIndex, int i) {16 // TODO Auto-generated method stub17 long result=1l;18 for(int j=0;j<i;++j){19 result*=rowIndex--;20 }21 22 for(int j=i;j>0;--j){23 result/=j;24 }25 return (int) result;26 }27 }
提交以后,发现错误:
这已经是我将辅助函数getNumber中的result设为long型以后的结果了。
Solution 2:
getNumber
[Leetcode] Pascal's Triangle II
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。