剑指offer-11.数值的整数次方实现power
0 题目
1 分析
输入的exp指数可能是负数,base可能是0.但因为是double所以不能用等号判断
另外当,base是个大数的时候,循环处理计算量大。因此采用,先计算exp/2的base次方,然后结果翻倍,再判断exp是否是奇数,如果是奇数,再乘依次base
double Power(double base, int exp)
{// exp 为0,直接输出 -1if (exp == 0){return 1;}// base 为0 ,直接输出0if (base < 0.00001 && base > -0.00001){return 0;}// 计算double ret = aux(base, exp > 0 ? exp : -exp);// 考虑exp为负的情况if (exp > 0){return ret;}else{// exp为负,输出他的倒数return 1 / ret;}
}
double aux(double base, int exp)
{if (exp == 0){return 1;}// 这里将 exp 分成3部分计算。 也就是 exp/2 ,exp/2 和 exp 是奇数的时候需要除1double ret = aux(base, exp >> 1);// 翻倍ret *= ret;// 是奇数if (exp & 0x1){ret *= base;}return ret;
}
转载于:https://www.cnblogs.com/perfy576/p/8606908.html
剑指offer-11.数值的整数次方实现power相关推荐
- 【LeetCode】剑指 Offer 16. 数值的整数次方
[LeetCode]剑指 Offer 16. 数值的整数次方 文章目录 [LeetCode]剑指 Offer 16. 数值的整数次方 package offer;public class Soluti ...
- 剑指Offer #12 数值的整数次方(快速幂)
题目来源:牛客网-剑指Offer专题 题目地址:数值的整数次方 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和 ...
- 【附可运行代码】剑指 Offer 16. 数值的整数次方
立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...
- 《剑指offer》数值的整数次方
题目:给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 分析:熟悉java中Math的话,直接调用即可,深刻说明在常规编程中熟悉java核 ...
- 《剑指Offer》 数值的整数次方
题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路: 直接调用pow函数 代码: class Solution { pub ...
- [剑指Offer]:数值的整数次方(循环解答,快速幂---递归、循环)
文章目录 题目描述 解答思路 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和exponent不同时为0 示例: ...
- 剑指offer——16.数值的整数次方
题目: 实现求base的exponent次方 知识点: 判断奇数还是偶数,a&1==1: 某数除以二,a >>= 1; a>0? res=1:res=2,当满足条件时,选前者 ...
- 剑指 Offer 16. 数值的整数次方
思路:快速幂模板,主要要注意负数的范围,乘以负一的时候会溢出,所以开一下longlong class Solution { public:double myPow(double x, int n) { ...
- 【LeetCode笔记】剑指 Offer 16. 数值的整数次方(Java、分治)
文章目录 题目描述 思路 && 代码 二刷 题目描述 很棒的题目!便于分治思想的理解! 思路 && 代码 分情况是大头- 递归结束的情况: x0x^0x0 = 1 x1 ...
- 【leetcode】剑指 Offer 16. 数值的整数次方(shu-zhi-de-zheng-shu-ci-fang-lcof)(快速幂)[中等]
链接 https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof/ 耗时 解题:6 min 题解:6 min 题意 实现 po ...
最新文章
- 如何使用React提前三天计划
- vue-cli ——解决多次复用含有Echarts图表组件的问题
- 皮一皮:现在当爹妈的不容易...
- 高级工程师必须精通的七种武器(摘录)
- 《程序员跳槽全攻略》笔记
- mvdr波束形成原理_5G的“波束赋形”技术是什么东东?
- [BZOJ2834]回家的路
- Nginx提供静态内容
- springboot秒杀课程学习整理1-1
- 围绕HugeTLB的极致优化
- JAVA标准包不存在_JAVA中引入自建包时提示包不存在
- 利用.htaccess绑定域名到子目录
- myeclipse copy问题
- 排序之快速排序(递归)
- java web程序设计任务驱动教程答案,Java Web应用程序开发任务驱动式教程
- 恒生电子 java笔试_恒生电子笔试题
- mybatis看这一篇就够了,简单全面一发入魂
- Ubuntu18.04 + win10 双系统,grub引导配置,美化
- python发微信红包_微信现金红包 python
- App 运营 推广相关
热门文章
- DSP之GPIO(转)
- 【Linux】一步一步学Linux——skill命令(143)
- c语言 链表 删除节点,C语言实现单链表节点的删除(不带头结点)
- centos7 nat模式配置静态ip_Centos7设置静态IP后无法上网的解决方法
- 杭电oj java printf_杭电oj1042题大数,java,百思不得其解为何WA,求指教
- 基金指数温度怎么算_成都冬季想装明装暖气片那究竟价格应该怎么算?
- python面向对象(2)——继承(4)
- 和为K的子数组—leetcode560
- 切换ubuntu启动方式 命令行/图形界面
- python venv windows7_安装 Python、pip 和 venv