Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return
Return
[1,3,3,1].
Note:
Could you optimize your algorithm to use only O(k) extra space?
Solution:
Basic implementation question.
Could you optimize your algorithm to use only O(k) extra space?
Solution:
Basic implementation question.
public class Solution {
public ArrayList getRow(int rowIndex) {
ArrayList result = new ArrayList();
ArrayList prev = new ArrayList();
result.add(1);
if(rowIndex == 0) return result;
result.add(1);
if(rowIndex == 1) return result;
prev = (ArrayList)result.clone(); // use clone for ArrayList copy
result.clear();
for(int i = 2; i <= rowIndex; i++){
result.add(1);
for(int j = 1; j <= prev.size()-1; j++){
result.add(prev.get(j) + prev.get(j-1));
}
result.add(1);
prev = (ArrayList)result.clone();
if(i!=rowIndex) result.clear();
}
return result;
}
}
No comments:
Post a Comment