zoukankan      html  css  js  c++  java
  • Pow(x,n) leetcode java

    题目:

     Implement pow(x, n).

    题解:

    pow(x,n)就是求x的n次方。x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)。所以利用递归求解,当n==1的时候,x^n=x。

    当然n是可以小于0的,2^(-3) = 1/(2^3)。按照上面那个规律就可以解决了。

    代码如下:

     1     public double power(double x, int n) {
     2         if (n == 0)
     3             return 1;
     4  
     5         double v = power(x, n / 2);
     6  
     7         if (n % 2 == 0) {
     8             return v * v;
     9         } else {
    10             return v * v * x;
    11         }
    12     }
    13  
    14     public double pow(double x, int n) {
    15         if (n < 0) {
    16             return 1 / power(x, -n);
    17         } else {
    18             return power(x, n);
    19         }
    20     }

     Reference: http://fisherlei.blogspot.com/2012/12/leetcode-powx-n.html

  • 相关阅读:
    【复习笔记】数据结构-外排序
    【复习笔记】数据结构-内排序
    python os
    pyinstaller problem
    python tk Lable
    机器学习
    python pickle and json
    pycharm 快捷键
    day10_procession作业
    python fibonacci recursion review
  • 原文地址:https://www.cnblogs.com/springfor/p/3870929.html
Copyright © 2011-2022 走看看