119. 杨辉三角 II

给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/pascals-triangle-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

辅助空间迭代

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

class Solution {
    public List<Integer> getRow(int rowIndex) {
        if (rowIndex == 0) {
            return Collections.singletonList(1);
        }
        List<Integer> original = Arrays.asList(1, 1);
        for (int i = 2; i <= rowIndex; ++i) {
            List<Integer> t = new ArrayList<>();
            t.add(1);
            for (int j = 1; j < original.size(); ++j) {
                t.add(original.get(j - 1) + original.get(j));
            }
            t.add(1);
            original = t;
        }

        return original;
    }
}

无辅助空间线性递推

import java.util.ArrayList;
import java.util.List;

class Solution {
    public List<Integer> getRow(int rowIndex) {
        List<Integer> row = new ArrayList<Integer>();
        row.add(1);
        for (int i = 1; i <= rowIndex; ++i) {
            row.add((int) ((long) row.get(i - 1) * (rowIndex - i + 1) / i));
        }
        return row;
    }
}
posted @ 2021-12-16 17:46  Tianyiya  阅读(39)  评论(0)    收藏  举报