zoukankan      html  css  js  c++  java
  • 数值的整数次方(剑指offer_16)

    题目描述


    给定一个double类型的浮点数base和int类型的整数exponent, 求base 的 exponent次方。

    解题思路


    下面的讨论x代表base,n代表exponent。

    因为  (x*x)n/2  可以通过递归求解,并且每次递归n都减小一半,因此整个算法的时间复杂度为  O(logN)。

    public double Power(double base, int exponent)
    {
        if(exponent == 0)
            return 1;
        if(exponent == 1)
            return base;
        boolean isNegative = false;
        if(exponent < 0)
        {
            exponent = -exponent;
            isNegative = true;
        }
        double pow = Power(base*base, exponent / 2);
        if(exponent % 2  != 0)
            pow = pow * base;
        return isNegative?1/pow:pow;
    }
  • 相关阅读:
    Java工具类
    集合 -- 嵌套表
    集合--索引表
    第一章
    记录Record
    序列Sequence
    操纵数据库 DML
    表的集合操作
    视图
    索引
  • 原文地址:https://www.cnblogs.com/ziytong/p/12111694.html
Copyright © 2011-2022 走看看