zoukankan      html  css  js  c++  java
  • Leetcode-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?

    Solution:

    public class Solution {
        public List<Integer> getRow(int rowIndex) {
            List<Integer> preRow = new ArrayList<Integer>();
            List<Integer> curRow = new ArrayList<Integer>();
            
            curRow.add(1);
            int len;
            for (int i=1;i<=rowIndex;i++){
                preRow = curRow;
                curRow = new ArrayList<Integer>();
                len = i+1;
                //j==0
                curRow.add(1);
                //j==1 to (len-2)
                for (int j=1;j<len-1;j++)
                    curRow.add(preRow.get(j-1)+preRow.get(j));
                //j==len-1
                curRow.add(1);
            }
            
            return curRow;
        }
    }

    递推问题。只需存当前行和上一行就行。

  • 相关阅读:
    idea编辑器快捷键
    双随机系统遇到的简单样式问题
    HTTP笔记八
    HTTP笔记七
    HTTP笔记六
    HTTP笔记五
    HTTP笔记四
    HTTP笔记三
    HTTP笔记二
    HTTP笔记一
  • 原文地址:https://www.cnblogs.com/lishiblog/p/4082728.html
Copyright © 2011-2022 走看看