一、题目

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

二、思路

1、传统方法计算,时间复杂度O(n)

2、递归方式计算,时间复杂度O(logn)

当exponent为偶数时,例如求base^10,则result= base^5  *  base^5;

当exponent为奇数数时,例如求base^11,则result= base^5 *  base^5 * base;

接着采用递归的方法,计算base^5 即可。

三、代码

1、传统方法

public class Solution {
public double Power(double base, int exponent) { double result=1;
for(int i=0;i<Math.abs(exponent);i++){
result *=base;
} if(exponent<0){
result=1/result;
}
return result;
}
}

2、递归的方法

public class Solution {
public double Power(double base, int exponent) {
double result=0.0;
int n=Math.abs(exponent); if(n==0)
return 1; if(exponent==1)
return base; if(exponent==-1)
return 1/base; result =Power(base,n>>1)*Power(base,n>>1);
if((n&1)==1)
result*=base;
if(exponent<0)
result=1/result; return result;    }
}

-------------------------------------------------------------------------------------------------

参考链接:https://www.nowcoder.com/questionTerminal/1a834e5e3e1a4b7ba251417554e07c00

剑指offer十二之数值的整数次方的更多相关文章

  1. 剑指Offer - 九度1514 - 数值的整数次方

    剑指Offer - 九度1514 - 数值的整数次方2013-11-30 00:49 题目描述: 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponen ...

  2. 剑指Offer:面试题11——数值的整数次方(java实现)

    题目描述: 实现函数double Power(double base, int exponent),求base的exponent次方,不得使用库函数,同时不需要考虑大数问题 思路:本题的重点考察内容是 ...

  3. 剑指offer(12)数值的整数次方

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 题目分析 这道题用传统的方法也可以做,只不过效率太低,这里我们用到快速幂的方法 ...

  4. 【剑指Offer】12、数值的整数次方

      题目描述:   给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方.   解题思路:   本题看似比较简单,是一个简单的指数运算,但需要完 ...

  5. 剑指offer_面试题11 数值的整数次方_考察代码的完整性

    测试通过代码: package t0825; public class Power { public static void main(String[] args){ System.out.print ...

  6. 剑指Offer(二十二):从上往下打印二叉树

    剑指Offer(二十二):从上往下打印二叉树 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/b ...

  7. 剑指Offer(二十五):复杂链表的复制

    剑指Offer(二十五):复杂链表的复制 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/bai ...

  8. 剑指Offer(二十六):二叉搜索树与双向链表

    剑指Offer(二十六):二叉搜索树与双向链表 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/ ...

  9. 剑指Offer(二十八):数组中出现次数超过一半的数字

    剑指Offer(二十八):数组中出现次数超过一半的数字 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn. ...

随机推荐

  1. nigos core 安装配置

    系统环境      Apache        PHP        GCC compiler        GD development libraries 环境安装     yum install ...

  2. 2014年的最后一个程序,却成为了2015年的第一个bug

    这个点不睡觉的程序员,要么就是在努力学技术,要么就是代码出bug了.而我,是后者.呵呵,2015了,觉还是要睡的

  3. 1, 2, and 4 symbols per clock中数据排列

    图片来自High-De€nitionMultimedia Interface (HDMI) IP Core User Guide 在自己处理的过程中很多细节的东西必须要清楚. 今天想自己从RGB数据中 ...

  4. [转]深入理解mysqldump原理

    本文转至:http://blog.csdn.net/cug_jiang126com/article/details/49824471 在mysqldump过程中,之前其实一直不是很理解为什么加了--s ...

  5. 从客户端(f="<zhaoyuntang.com")中检测到有潜在危险的 Request.Form 值。

    从客户端(f="<yi733.com")中检测到有潜在危险的 Request.Form 值. 解决办法1:在aspx页面头部加 ValidateRequest="f ...

  6. 启动Android App时,动态将Sqlite数据库文件导入到手机中类方法

    package com.aqioo.db; import java.io.File; import java.io.FileOutputStream; import java.io.InputStre ...

  7. c语言洗牌算法

    #include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> voi ...

  8. kepware http接口 shell开发

    读取某变量的值(wget wget --quiet \ --method GET \ --header 'Connection: keep-alive' \ --header 'Cache-Contr ...

  9. MySQL查询练习(45道)

    题目:设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher). 四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1 ...

  10. POJ2456--Aggressive cows(Binary Search) unsolved

    Description Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. The stal ...