• leetCode-Pascal's Triangle II


    Description:
    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?

    My Solution:

    class Solution {
        public List<Integer> getRow(int rowIndex) {
            List list = new ArrayList();
            for(int i = 0;i <= rowIndex;i++){
                List<Integer> line = new ArrayList<Integer>();
                for(int j = 0;j <= i;j++){
                    if(j == 0 || j== i){
                        line.add(1);
                    }else{
                        List<Integer> temp = (ArrayList<Integer>)list.get(list.size() - 1);
                        line.add(temp.get(j - 1) + temp.get(j));
                    }
                }
                list.add(line);
            }
            return (ArrayList<Integer>)list.get(list.size() - 1);
        }
    }

    Better Solution:

    class Solution {
        public List<Integer> getRow(int rowIndex) {
            rowIndex+=1;
            int[][] res=new int[rowIndex][];
            List<Integer> RES=new ArrayList<>();
            for(int i=0;i<rowIndex;i++){
                res[i]=new int[i+1];
                for(int j=0;j<i+1;j++){
                    if(j==0||j==i)res[i][j]=1;
                    else res[i][j]=res[i-1][j-1]+res[i-1][j];
                    if(i==rowIndex-1)RES.add(res[i][j]);
                }
            }
            return RES;
        }
    }

    Best Solution:

    class Solution {
        public List<Integer> getRow(int rowIndex) {
            List<Integer> result=new ArrayList<Integer>();
            for(int k=0,value=1;k<=rowIndex;k++){
                result.add(value);
                //核心
                value=(int)((long)value*(rowIndex-k)/(k+1));
            }
            return result;
        }
    }
  • 相关阅读:
    kafka作业详解(HTML+Nginx+ngx_kafka_module+Kafka)
    Zookeeper知识点总结
    用CocoaPods做iOS程序的依赖管理
    iOS 正则表达式
    iOS 自定义UITabBarController
    iOS 同一UILabel改变数字的颜色
    iOS 自定义字体
    iOS 修改状态条颜色
    iOS 过滤掉HTML标签
    iOS UILabel自适应
  • 原文地址:https://www.cnblogs.com/kevincong/p/7900348.html
Copyright © 2020-2023  润新知