剑指offer:(11)代码的完整性: 数值的整数次方
来源:互联网 发布:淘宝为什么刷关键词 编辑:程序博客网 时间:2024/05/18 03:31
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
传统公式求解时间复杂度O(n)
public class Solution { public static double Power(double base, int exponent) { boolean g_invalid = false; if(equal(base, 0.0) && exponent < 0){ g_invalid = true; return 0.0; } int absExponent = exponent; if(exponent<0){ absExponent = -exponent; } double result = powerWithUnsignedExponent(base,absExponent); if(exponent<0){ result = 1.0/result; } return result; } public static boolean equal(double num1,double num2){ if(num1-num2 > -0.0000001 && num1-num2<0.0000001){ return true; }else{ return false; } } //时间复杂度为exponent-1// public static double powerWithUnsignedExponent(double base,int exponent){// double result = 1.0;// for(int i = 1;i<=exponent;i++){// result *= base;// }// return result;// } public static double powerWithUnsignedExponent(double base,int exponent){ if(exponent==0){ return 1.0; } if(exponent==1){ return base; } double result = powerWithUnsignedExponent(base, exponent>>1); result *= result; if((exponent & 1) == 1){ result *= base; } return result; } }
0 0
- 剑指offer:(11)代码的完整性: 数值的整数次方
- 【剑指offer】3.3代码的完整性——面试题11:数值的整数次方
- 剑指offer 11题 【代码的完整性】数值的整数次方
- 剑指offer 3.3 代码的完整性1- 求数值的整数次方
- 《剑指offer》刷题笔记(代码完整性):数值的整数次方
- 代码的完整性-面试题11-数值的整数次方
- 剑指offer-11 数值的整数次方
- 剑指offer 11 - 数值的整数次方
- 剑指Offer-11-数值的整数次方
- 剑指Offer 11 数值的整数次方
- 剑指offer-11:数值的整数次方
- 剑指offer 11 数值的整数次方
- 数值的整数次方(代码的完整性)
- 剑指offer:数值的整数次方 代码实现
- 剑指Offer之数值的整数次方
- 剑指offer:数值的整数次方
- 【剑指offer】数值的整数次方
- [剑指offer]Q11:数值的整数次方
- JAVA自定义异常
- 复习JQ (7)
- 时光已经远去,你还在犹豫什么?
- 腾讯拦截网站解决方案
- 模拟退火算法
- 剑指offer:(11)代码的完整性: 数值的整数次方
- VIM快捷(一):移动
- shell知识体系框图
- [系分] 细化阶段-基础迭代
- VS+QT出现错误:LNK1120与LNK2019
- TP框架准备工作
- Oracle 11g数据库详细安装步骤图解
- denny的学习专栏——徐其华——tensorflow
- Android--控件Button的详细用法介绍(适合初学者)