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; 
    }
}

猜你喜欢

转载自www.cnblogs.com/stiles/p/leetcode119.html
今日推荐