题目描述

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

解题思路

  1. 当exponent为0时,返回1,当exponent大于0,那么循环exponent次,每次对结果乘以base,最终返回结果。当exponent小于0,则循环exponent的绝对值次,每次对结果乘以base,然后对结果取倒数并返回。对于base为0,那么返回0(exponent不能为负数)。

  2. 当exponent为0时,返回1,对于a b ,可以进行拆分(b要大于0,求其绝对值),有
    \[ a^b = \begin{cases} (a^{\frac b2})^2, & \text{if $b$ is even} \\ (a^{\frac b2})^2 \cdot a, & \text{if $b$ is odd} \\ \end{cases}\]

实现

  1. 方法1
public class Solution {public double Power(double base, int exponent) {if (base == 0) return 0;double result = 1;int absExp = exponent > 0 ? exponent : -exponent;for (int i = 0; i < absExp; i++){result *= base;}if (exponent < 0) result = 1 / result;return  result;}
}
  1. 方法2
public class Solution {public double Power(double base, int exponent) {if (base == 0) return 0;if (exponent == 0) return 1;int absExp = exponent > 0 ? exponent : -exponent;double result = Power(base, absExp >> 1);result *= result;if ((absExp & 0x1) == 1){result *= base;}if (exponent < 0) result = 1 / result;return  result;}
}

转载于:https://www.cnblogs.com/ggmfengyangdi/p/5767440.html

剑指Offer_12_数值的整数次方相关推荐

  1. 剑指offer16. 数值的整数次方P110

    剑指offer16. 数值的整数次方P110 题目:实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要 ...

  2. double取整数部分_剑指offer_16_数值的整数次方

    //面试题16.数值的整数次方 //题目:实现函数double Power(double base,int exponent),求base的exponent次方. //不得使用库函数,同时需要考虑大数 ...

  3. 剑指offer-11.数值的整数次方实现power

    0 题目 给定一个double类型的浮点数base和int类型的整数exp.求base的exp次方. 1 分析 输入的exp指数可能是负数,base可能是0.但因为是double所以不能用等号判断 另 ...

  4. 剑指offer.数值的整数次方

    实现函数double Power(double base, int exponent),求base的 exponent次方.不得使用库函数,同时不需要考虑大数问题. 注意: 不会出现底数和指数同为0的 ...

  5. 剑指offter27. 数值的整数次方-java实现

    本文中讨论了三种解法 详细的介绍了快速幂对于指数是负数的情况,同时指数的范围的Int 的负极限 原题链接 实现函数double Power(double base, int exponent),求ba ...

  6. 2021-07-11剑指offer16.数值的整数次方

    class Solution {public double myPow(double x, int n) {if(x == 0) return 0;//考虑到特殊的情况,如果为零就直接返回,否则可能会 ...

  7. 剑指Offer--数值的整数次方

    问题描述:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路:  * 1.全面考察指数的正负.底数是否为零等情况.  * 2.写出指数 ...

  8. 剑指offer 数值的整次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 解决方案: public class Solution {public dou ...

  9. C++ 力扣剑指Offer16-数值的整数次方

    题目详情 /* * 实现函数double Power(double base, int exponent), * 求base的exponent次方.不得使用库函数,同时不需要考虑大数问题.示例 1: ...

最新文章

  1. Tensorflow:Tensorboard使用
  2. getter和setter
  3. Google Map 中混淆和压缩代码的简单示例
  4. 集训队脱单大法:这是一道只能由学姐我自己出数据的水题(牛客竞赛)
  5. 关于python3中的包operator(支持函数式编程的包)
  6. Android笔记 - Android studio如何添加arr库
  7. hdu 1495非常可乐 BFS
  8. linux内存源码分析 - 内存回收(匿名页反向映射)
  9. JavaWeb篇-谷歌验证码的使用
  10. 小米8刷官方欧版rom并从国内版rom提取安装MiPay、门卡模拟
  11. java ssh 404,SSH框架上的404异常
  12. 因为mac不支持移动硬盘的NTFS格式,mac电脑无法写入移动硬盘的终极解决办法(方便好用)
  13. 基于5片FPGA处理的PCIE光纤传输硬件加速卡
  14. 计算机硬盘容量越大运行速度越快,你是不是也感觉电脑内存越大运行速度越快?...
  15. 【云原生】K8S包管理(helm)
  16. 做后端开发需要学什么?标梵看到了一条小白的发展之路
  17. selenium firefox 启动报错 Timed out wating 45 seconds for firefox to start
  18. 将机械硬盘换成固态硬盘的装机过程
  19. 大家都在学JAVA,那么学JAVA到底可以做什么?
  20. Js获取上传文件的绝对路径时总是的到C:\fakepath\+文件名称 解决方案

热门文章

  1. 《最强蜗牛》运营分析:这个奇葩放置游戏的乐趣在哪里?
  2. 如何在 Linux 最小化安装中设置互联网
  3. 【windows10 计划任务】【实施工程师】
  4. shell 调用 sqlplus 各种情况示例
  5. SpringMVC4返回json
  6. 第二阶段 站立会议 02
  7. schedule execution
  8. 我弥留之际 - 许立志 (珍藏)
  9. T-SQL RAND()
  10. 安装ubuntu系统步骤