码迷,mamicode.com
首页 > 其他好文 > 详细

[Leetcode]Pascal's Triangle

时间:2015-04-17 21:51:24      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

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]
]

首先了解 杨辉三角,第n行有n个元素,最左最右为1,其他的等于n-1行,自己的位置数和前一个数的和。如:第四行,第二个,3=1+2.

分析:当n>3,2~n-1的数字取决于上一行的元素。
两个循环,1~N 的行,·2~n-1的内部元素。
ArrayList

 set:将原来index位置上的object的替换掉

add:将原来index位置上的向后移

 1         List<List<Integer>> result= new ArrayList<List<Integer>>();
 2         List<Integer> row=new ArrayList<Integer>();
 3         
 4         for(int i=0;i<numRows;i++){
 5             result.add(i,row);
 6             row.add(0,1);
 7             for(int j =1 ;j<i;j++){
 8                row.add(j,result.get(i-1).get(j)+result.get(i-1).get(j-1));
 9             }
10             
11             if(i!=0)
12                row.add(i,1);
13             row = new ArrayList<Integer>();
14         }
15         
16         return result;

ArrayList 遍历 

ArrayList<Integer> result = new ArrayList<Integer>();
for(int i-0;i<10;i++)
  result.add(i);

//遍历方法 
for(Integer tmp: result)
    System.out.println(tmp);

Iterator tmp=result.iterator();
while(tmp.hasNext())
    System.out.println(tmp.next());

for(int i;i<result.size();i++)
   System.out.println(result.get(i));

 

[Leetcode]Pascal's Triangle

标签:

原文地址:http://www.cnblogs.com/ziva-core/p/4435977.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!