题目描述

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

解决方案:

public class Solution {public double Power(double base, int exponent) {return Math.pow(base,exponent);}
}

第二种方法:

【分析】
第一种方法:使用递归,时间复杂度O(logn)当n为偶数,a^n =(a^n/2)*(a^n/2)当n为奇数,a^n = a^[(n-1)/2] * a^[(n-1)/2] * a 举例:2^11 = 2^1 * 2^2 * 2^82^1011 = 2^0001 * 2^0010 * 2^1000 第二种方法:累乘,时间复杂度为O(n)【参考代码】package javaTest;public class JavaTest {public static void main(String[] args) {System.out.println(power(3, 3));System.out.println(powerAnother(3, 3));}// 使用递归public static double power(double base, int exponent) {int n = Math.abs(exponent);double result = 0.0;if (n == 0)return 1.0;if (n == 1)return base;result = power(base, n >> 1);result *= result;if ((n & 1) == 1) // 如果指数n为奇数,则要再乘一次底数baseresult *= base;if (exponent < 0) // 如果指数为负数,则应该求result的倒数result = 1 / result;return result;}// 使用累乘public static double powerAnother(double base, int exponent) {double result = 1.0;for (int i = 0; i < Math.abs(exponent); i++) {result *= base;}if (exponent >= 0)return result;elsereturn 1 / result;}}

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

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

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

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

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

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

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

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

    题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 解题思路 当exponent为0时,返回1,当exponent大于0,那么循环 ...

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

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

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

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

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

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

  8. 【附可运行代码】剑指 Offer 16. 数值的整数次方

    立志用最少的代码做最高效的表达 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn).不得使用库函数,同时不需要考虑大数问题. 示例 1: 输入:x = 2.00000, n = 10 ...

  9. 剑指Offer #12 数值的整数次方(快速幂)

    题目来源:牛客网-剑指Offer专题 题目地址:数值的整数次方 题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 保证base和 ...

最新文章

  1. 爬取知乎“凡尔赛语录”话题下的所有回答,我知道点开看你的很帅气,但还是没我帅
  2. 深度学习100例 | 第33天:迁移学习-实战案例教程
  3. JavaScript + Tampermonkey——易班优课YOOC课群在线测试自动答题解决方案(十七)复合型解决方案油猴脚本
  4. (SQuirreL SQL Client 客户端 )使用Apache Phoenix 实现 SQL 操作HBase
  5. CSS鼠标悬停隐藏展开简介特效
  6. jdbc连接池连不上mysql80_JDBC MySql连接池实践可避免连接池耗尽-问答-阿里云开发者社区-阿里云...
  7. 计算机网络原理(谢希仁第八版)第一章课后习题答案
  8. wpf绘制图片查看器
  9. KEIL5下载并安装STM32包
  10. 监理项目的服务器,idc服务器机房搬迁工程施工监理的重点
  11. 2021-07-04——在线考试系统设计
  12. Python 中的多进程(进程之间的通信)
  13. 学习OpenCV:海森矩阵(Hessian Matrix)
  14. C语言实现顺序栈的基本操作(初始化、判断空、入栈、出栈、获取栈顶元素)
  15. PWA ( Progressiv Web App )初探总结
  16. 大数据-安装 Hadoop3.1.3 详细教程-单机/伪分布式配置(Centos)
  17. matlab nctool使用,感知器和BP网络设计及应用技术总结.doc
  18. 我眼中的subprocess
  19. selenium自动化测试豆瓣电影近期热门榜,和保存至Excel
  20. NLP自然语言处理:关键词提取

热门文章

  1. 关于OSPF用反掩码
  2. 8种最有效的网站推广方案
  3. 在jsp页面实现保存登录用户名和密码
  4. java与c++中的对象序列化分析
  5. Java连接SQL2005及SQL Server JDBC Driver 2.0中sqljdbc.jar和sqljdbc4.jar的区别
  6. html body background color,HTML Style backgroundColor用法及代码示例
  7. mysql utf8 cmd,MySQL Windows下cmd显示中文乱码
  8. 把一个人的特点写具体作文_部编版五年级下册语文 第五单元:习作 | 把一个人的特点写具体 电子课本+教案课件...
  9. activemq 控制台怎么看生产信息_Jmeter中间件处理-ActiveMQ
  10. oracle shell 登录,linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面...