zoukankan      html  css  js  c++  java
  • LeetCode

    采用2项公式解这问题挺简单,唯一需要注意的是当两个比较大的数相乘时,容易越界,我采用分子、分母同时除以他们的最大公约数。

    下面是AC代码:

     1  /**
     2      * Given an index k, return the kth row of the Pascal's triangle.
     3      * only O(k) extra space
     4      * @param rowIndex
     5      * @return
     6      */
     7     public ArrayList<Integer> getRow(int rowIndex){
     8         ArrayList<Integer> r = new ArrayList<Integer>();
     9         if(rowIndex<0)
    10             return r;
    11         r.add(1);
    12         if(rowIndex == 0)
    13             return r;
    14         for(int i=1;i<rowIndex;i++){
    15             //It's very important here!! handle the big number that's out of range
    16             if(r.get(i-1)>Math.pow(2, 31)/(rowIndex-i+1))
    17              {
    18                 int t = gcd(r.get(i-1),i);
    19                 int temp = r.get(i-1)/t * (rowIndex-i+1)*t/i;
    20                 System.out.println(temp);
    21                 r.add(temp);
    22                 continue;
    23              }
    24                 
    25             int temp = r.get(i-1)*(rowIndex-i+1)/i;
    26             r.add(temp);
    27         }
    28         r.add(1);
    29         return r;
    30     }
    31     /**
    32      * 求最大公约数,为了处理大整数
    33      * @param a
    34      * @param b
    35      * @return
    36      */
    37     private int gcd(int a, int b){
    38         while(a%b!=0){
    39             int t = b;
    40             b = a%b;
    41             a = t;
    42         }
    43         return b;
    44     }
    45    
    有问题可以和我联系,bettyting2010#163 dot com
  • 相关阅读:
    java中通过jacob调用dts进行数据导入导出
    Tomcat6 配置快逸报表
    [转]Sql Server Alter语句
    redhat linux卸载自带的Java1.4.2安装JDK6
    住房公积金额度计算
    JVisualVM使用
    Tomcat假死之问题原因排查
    JVM内存调优之监控篇
    tomcat之JVM GC 日志文件生成
    webstorm8的license
  • 原文地址:https://www.cnblogs.com/echoht/p/3703108.html
Copyright © 2011-2022 走看看