zoukankan      html  css  js  c++  java
  • leetcode------Pascal's Triangle II

    标题:

    Pascal's Triangle II

    通过率: 29.8%
    难度: 简单

    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?

    第一个版本:Pascal's Triangle做的时候就是用的二维的list,每次把上一层的list取出来就行了。但是这里不能再用二维list了,那么实际就是维护一个list,但是再求对应位置值的时候要把先有的这个值保存下来,

    比如说再求第三层的时候,要用到上次的结果 121,那么要把2保存下来,因为再求第一个位置时是用1+2,第二个位置的时候是2+1,所以要保存下来,

    直接看代码就行了,这道题我也是参考别人的思路。

     1 public class Solution {
     2     public List<Integer> getRow(int rowIndex) {
     3         ArrayList<Integer> result=new ArrayList<Integer>();
     4         result.add(1);
     5         for(int i=1;i<=rowIndex;i++){
     6             int tmp=1;
     7             for(int j=1;j<i;j++){
     8                 int midtmp=result.get(j);
     9                 result.set(j,tmp+midtmp);
    10                 tmp=midtmp;
    11             }
    12             result.add(1);
    13         }
    14         return result;
    15     }
    16 }
  • 相关阅读:
    centos7 yum 方式安装nginx
    在Windows系统下用命令把应用程序添加到系统服务
    WPF内置命令
    Json解析实例
    端口占用的问题
    WPF里的报警闪烁效果
    python类中的一些神奇方法
    python中交换两个变量值的方法
    lambda应用
    python函数不定长参数
  • 原文地址:https://www.cnblogs.com/pkuYang/p/4238271.html
Copyright © 2011-2022 走看看