[LeetCode]--119. Pascal's Triangle II

简介: Given an index k, return the kth row of the Pascal’s triangle.For example, given k = 3, Return [1,3,3,1].Note: Could you optimize your algorithm to use only O(k) extra space?public

Given an index k, return the kth row of the Pascal’s triangle.

For example, given k = 3,
Return [1,3,3,1].

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

public List<Integer> getRow(int rowIndex) {
        List<Integer> list = new ArrayList<Integer>();
        List<List<Integer>> resultList = new ArrayList<List<Integer>>();
        int[][] temp = new int[rowIndex + 1][rowIndex + 1];
        for (int i = 0; i < rowIndex + 1; i++) {
            temp[i][0] = 1;
            temp[i][i] = 1;
            for (int j = 0; j <= i; j++) {
                if (j < i && i > 1 && j > 0)
                    temp[i][j] = temp[i - 1][j - 1] + temp[i - 1][j];
                list.add(temp[i][j]);
            }
            resultList.add(list);
            list = new ArrayList<Integer>();
        }
        return resultList.get(rowIndex);
    }

我开辟了两倍的空间,因为有一半没用山,这种也通过了,后来想着用一倍空间也能完成。

public List<Integer> getRow(int rowIndex) {
        List<Integer> list = new ArrayList<Integer>();
        rowIndex++;
        list.add(1);
        for (int i = 1; i < rowIndex; i++) {
            List<Integer> temp = new ArrayList<Integer>(i + 1);
            //这里记住了,一定要进行初始化,然后set会出错
            for (int j = 0; j < i + 1; j++)
                temp.add(-1);
            temp.set(0, list.get(0));
            temp.set(i, list.get(i - 1));
            for (int j = 1; j < i; j++)
                temp.set(j, list.get(j - 1) + list.get(j));
            list = temp;
        }
        return list;
    }
目录
相关文章
LeetCode 118:杨辉三角 II Pascal's Triangle II
公众号:爱写bug(ID:icodebugs)作者:爱写bug 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 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. 在杨辉三角中,每个数是它左上方和右上方的数的和。
918 0
Leetcode 118:Pascal's Triangle 杨辉三角
118:Pascal's Triangle 杨辉三角 Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
982 0
|
Java
LeetCode 118 Pascal's Triangle(帕斯卡三角形)(vector)
版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/50568461 翻译 给定一个行数字,生成它的帕斯卡三角形。
1041 0
|
算法 索引
LeetCode 119 Pascal's Triangle II(帕斯卡三角形II)(vector、数学公式)(*)
版权声明:转载请联系本人,感谢配合!本站地址:http://blog.csdn.net/nomasp https://blog.csdn.net/NoMasp/article/details/50568802 翻译 给定一个索引K,返回帕斯卡三角形的第K行。
1152 0
[LeetCode]118.Pascal's Triangle
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/43562277 题目 G...
929 0
[LeetCode]119.Pascal's Triangle II
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/43562603 题目 G...
816 0