剑指Offer_12_数值的整数次方
题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
解题思路
当exponent为0时,返回1,当exponent大于0,那么循环exponent次,每次对结果乘以base,最终返回结果。当exponent小于0,则循环exponent的绝对值次,每次对结果乘以base,然后对结果取倒数并返回。对于base为0,那么返回0(exponent不能为负数)。
当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
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;}
}
- 方法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_数值的整数次方相关推荐
- 剑指offer16. 数值的整数次方P110
剑指offer16. 数值的整数次方P110 题目:实现函数double Power(double base, int exponent),求base的exponent次方.不得使用库函数,同时不需要 ...
- double取整数部分_剑指offer_16_数值的整数次方
//面试题16.数值的整数次方 //题目:实现函数double Power(double base,int exponent),求base的exponent次方. //不得使用库函数,同时需要考虑大数 ...
- 剑指offer-11.数值的整数次方实现power
0 题目 给定一个double类型的浮点数base和int类型的整数exp.求base的exp次方. 1 分析 输入的exp指数可能是负数,base可能是0.但因为是double所以不能用等号判断 另 ...
- 剑指offer.数值的整数次方
实现函数double Power(double base, int exponent),求base的 exponent次方.不得使用库函数,同时不需要考虑大数问题. 注意: 不会出现底数和指数同为0的 ...
- 剑指offter27. 数值的整数次方-java实现
本文中讨论了三种解法 详细的介绍了快速幂对于指数是负数的情况,同时指数的范围的Int 的负极限 原题链接 实现函数double Power(double base, int exponent),求ba ...
- 2021-07-11剑指offer16.数值的整数次方
class Solution {public double myPow(double x, int n) {if(x == 0) return 0;//考虑到特殊的情况,如果为零就直接返回,否则可能会 ...
- 剑指Offer--数值的整数次方
问题描述:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路: * 1.全面考察指数的正负.底数是否为零等情况. * 2.写出指数 ...
- 剑指offer 数值的整次方
题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 解决方案: public class Solution {public dou ...
- C++ 力扣剑指Offer16-数值的整数次方
题目详情 /* * 实现函数double Power(double base, int exponent), * 求base的exponent次方.不得使用库函数,同时不需要考虑大数问题.示例 1: ...
最新文章
- Tensorflow:Tensorboard使用
- getter和setter
- Google Map 中混淆和压缩代码的简单示例
- 集训队脱单大法:这是一道只能由学姐我自己出数据的水题(牛客竞赛)
- 关于python3中的包operator(支持函数式编程的包)
- Android笔记 - Android studio如何添加arr库
- hdu 1495非常可乐 BFS
- linux内存源码分析 - 内存回收(匿名页反向映射)
- JavaWeb篇-谷歌验证码的使用
- 小米8刷官方欧版rom并从国内版rom提取安装MiPay、门卡模拟
- java ssh 404,SSH框架上的404异常
- 因为mac不支持移动硬盘的NTFS格式,mac电脑无法写入移动硬盘的终极解决办法(方便好用)
- 基于5片FPGA处理的PCIE光纤传输硬件加速卡
- 计算机硬盘容量越大运行速度越快,你是不是也感觉电脑内存越大运行速度越快?...
- 【云原生】K8S包管理(helm)
- 做后端开发需要学什么?标梵看到了一条小白的发展之路
- selenium firefox 启动报错 Timed out wating 45 seconds for firefox to start
- 将机械硬盘换成固态硬盘的装机过程
- 大家都在学JAVA,那么学JAVA到底可以做什么?
- Js获取上传文件的绝对路径时总是的到C:\fakepath\+文件名称 解决方案