119. Pascal's Triangle II (Amazon) from leetcode


Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle.

Note that the row index starts from 0.


In Pascal's triangle, each number is the sum of the two numbers directly above it.

Example:

Input: 3
Output: [1,3,3,1]

Follow up:

Could you optimize your algorithm to use only O(k) extra space?

Solution: only using O(k), update the elements in the array, we need temp  to keep the previous element

using list to set : list.set(index, num);

class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> res = new ArrayList<>();
        res.add(1);
        for(int i = 1; i<=rowIndex; i++){
            int temp = res.get(0);//previous element
            for(int j = 1; j<i; j++){
                int k = res.get(j);
                res.set(j, k+temp);
                temp = k;
            }
            res.add(1);
        }
     return res; 
    }
}
扫描二维码关注公众号,回复: 1021818 查看本文章

猜你喜欢

转载自www.cnblogs.com/stiles/p/leetcode119.html