如题 (总结要点)

  • 原文链接 :

1.主题

  1. package blank;
  2. /**
  3. * 类的详细说明 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
  4. * 思路 : for循环 --》快速幂走一波
  5. * 坑点:
  6. * 1. int类型的整数exponent ,可能为负值、0 ,没有规定是正整数
  7. * // return Math.pow(base,exponent ); 快速搞定
  8. */
  9. public class Solution {
  10. public double Power(double base, int exponent) {
  11. if(exponent==0){
  12. return 1;
  13. }
  14. int p=exponent;
  15. if(exponent <0){
  16. p=-p;
  17. }
  18. double ret = 1;
  19. // 快速幂
  20. while(p>0){
  21. // 奇数
  22. if((p & 1) == 1){
  23. p/=2;
  24. ret*=base;
  25. base*=base;
  26. }else{
  27. p/=2;
  28. base*=base;
  29. }
  30. }
  31. if(exponent <0){
  32. ret = 1.0/ret;
  33. }
  34. return ret;
  35. }
  36. }

3.测试

  1. package blank;
  2. import java.util.UUID;
  3. /**
  4. * 类的详细说明 ; 测试类
  5. *
  6. * @author SongZeShan
  7. * @version 1.0
  8. * @Date 2019/7/12 16:40
  9. */
  10. public class Test {
  11. public static void main(String[] args) {
  12. Solution solution = new Solution();
  13. //8.0
  14. //0.7071635669330316
  15. //
  16. System.out.println(solution.Power(2, 3));
  17. System.out.println(solution.Power(1.4141, -1));
  18. System.out.println(solution.Power(1.4141, 1));
  19. System.out.println(Math.pow(1.4141, -1));
  20. }
  21. }

测试结果

  1. 8.0
  2. 0.7071635669330316
  3. 1.4141
  4. 0.7071635669330316

《剑指Offer》-006 - Java版快速幂 -解决n的m次方的问题的更多相关文章

  1. 【剑指offer】Java版代码(完整版)

    原文地址:https://blog.csdn.net/baiye_xing/article/details/78428561 一.引言 <剑指offer>可谓是程序猿面试的神书了,在面试中 ...

  2. 剑指offer】Java版代码(完整版)

    转自:剑指offer]Java版代码(完整版) 转自:[剑指offer] JAVA版题解(完整版)

  3. 剑指offer(java版)【转】

    面试题 2 :实现单例模式 1. 饿汉式单例类 public class SingletonClass { private static final SingletonClass instance=n ...

  4. [转]剑指offer之Java源代码

    一.引言 <剑指offer>可谓是程序猿面试的神书了,在面试中帮了我很多,大部分面试的算法题都会遇到原题或者是类似的题.但是书上的代码都是C版的,我在这里整理了一份Java版的代码供大家学 ...

  5. 剑指Offer(第二版)面试案例:树中两个节点的最低公共祖先节点

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/74612786冷血之心的博客) 剑指Offer(第二版)面试案例:树 ...

  6. 剑指offer题目java实现

    Problem2:实现Singleton模式 题目描述:设计一个类,我们只能生成该类的一个实例 package Problem2; public class SingletonClass { /* * ...

  7. 【剑指offer】Java实现(持续更新中)

    面试题3 二维数组中的查找 Leetcode--74 Search a 2D Matrix /*Java Write an efficient algorithm that searches for ...

  8. (python)剑指Offer(第二版)面试题14:剪绳子

    题目 给你一根长度为n的绳子,请把绳子剪成m段 (m和n都是整数,n>1并且m>1)每段绳子的长度记为k[0],k[1],…,k[m].请问k[0]k[1]…*k[m]可能的最大乘积是多少 ...

  9. 【目录】《剑指Offer》Java实现

    如题: 1) 找出数组中重复的数字 2) 不修改数组找出重复的数字 3) 二维数组中的查找 4) 替换空格 5) 从尾到头打印链表 6) 重建二叉树 7) 二叉树的下一个结点 8) 用两个栈实现队列 ...

随机推荐

  1. JSON Template

    public java.lang.String toString() {#if ( $members.size() > 0 ) #set ( $i = 0 )return "{\&qu ...

  2. 《Linux就该这么学》培训笔记_ch19_使用PXE+Kickstart无人值守安装服务

    <Linux就该这么学>培训笔记_ch19_使用PXE+Kickstart无人值守安装服务 文章最后会post上书本的笔记照片. 文章主要内容: 无人值守系统 部署相关服务程序 配置DHC ...

  3. cad.net 在位编辑的原理猜测及找到在位编辑状态的图元

    在位编辑的时候会产生一个名为 0-RefEdit0 的图层,原因不明.... 在位编辑的本质是一个长事务,长事务是使用编辑库的对象替换源对象,相当于剪辑.不理解没关系,请看下面的聊天记录.... [贵 ...

  4. ThreadPoolExecutor源码1

    参考:https://www.cnblogs.com/liuyun1995/p/9305273.html ThreadPoolExecutor1 executorService1 = new Thre ...

  5. mongodb数据库操作 python+命令行

      一.python操作 from bson.objectid import ObjectId import pymongo client1 = pymongo.MongoClient(host=) ...

  6. angular JS中 ‘=’与angular.copy的区别

    先来看代码: <b>{{test1}}</b> <input type="text" ng-model="test2" title ...

  7. ZYNQ笔记(4):PL触发中断

    一.ZYNQ中断框图 PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0.从下面的表格中可以看到中断向量的具体值.PL到PS部分一共有20个中断可以使用.其中4个是快速中断.剩余 ...

  8. 更改collation批处理

    DECLARE @zcreate_index_sql NVARCHAR(max); SET @zcreate_index_sql = N''; SELECT @zcreate_index_sql = ...

  9. 能写数据后台,需要掌握哪些进阶的sql语句?

    国庆假期花了一些时间,首次尝试并玩转 grafana,这几天继续不断优化和完善,如今看着自己的成果,相当满意.--逐步接近我想要的理想后台啦. 需求是不停歇的.今天我又给自己发掘了一些新需求,比如变量 ...

  10. 门控循环单元(GRU)与 LSTM 的区别

    29 November 2019 14:48 GRU is a popular variant of LSTM which replaces the forget gate and the input ...