刷同样的题,遇见同样的问题,list的set方法和add方法
add方法是在某个指定的位置加上某个对象,并将原来的位置的那个对象向后挤了一格。
set方法是将原来位置上的那个给取代了,并将原来位置上对象的返回。
转载自https://blog.csdn.net/bug_moving/article/details/52739137
import java.util.LinkedList;
import java.util.List;
public class TestListSet {
public static void main(String[] args) {
List l1 = new LinkedList();
for (int i = 0; i <= 5; i++) {
l1.add("a" + i);
}
System.out.println(l1);
l1.add(3, "a100");
System.out.println(l1);
String b = (String) l1.set(3, "a200");
System.out.println(b);
System.out.println(l1);
}
}
result:
--------------------------------------------------------------------------------------------------------------------------------------------
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] ]
import java.util.ArrayList;
import java.util.List;
public class Pascal_Triangle {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(generate(5));
}
public static List<List<Integer>> generate(int numRows)
{
List<List<Integer>> allrows = new ArrayList<List<Integer>>();
ArrayList<Integer> row = new ArrayList<Integer>();
for(int i=0;i<numRows;i++)
{
row.add(0, 1);
for(int j=1;j<row.size()-1;j++)
row.set(j, row.get(j)+row.get(j+1));
allrows.add(new ArrayList<Integer>(row));
}
return allrows;
}
}