如题 (总结要点)

  • 原文链接 :

1.主题

package blank;

/**
* 类的详细说明 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
* 思路 : for循环 --》快速幂走一波
* 坑点:
* 1. int类型的整数exponent ,可能为负值、0 ,没有规定是正整数
* // return Math.pow(base,exponent ); 快速搞定
*/
public class Solution {
public double Power(double base, int exponent) {
if(exponent==0){
return 1;
}
int p=exponent;
if(exponent <0){
p=-p;
}
double ret = 1;
// 快速幂
while(p>0){
// 奇数
if((p & 1) == 1){
p/=2;
ret*=base;
base*=base;
}else{
p/=2;
base*=base;
} } if(exponent <0){
ret = 1.0/ret;
}
return ret;
}
}

3.测试

package blank;

import java.util.UUID;

/**
* 类的详细说明 ; 测试类
*
* @author SongZeShan
* @version 1.0
* @Date 2019/7/12 16:40
*/
public class Test {
public static void main(String[] args) {
Solution solution = new Solution();
//8.0
//0.7071635669330316
//
System.out.println(solution.Power(2, 3));
System.out.println(solution.Power(1.4141, -1));
System.out.println(solution.Power(1.4141, 1));
System.out.println(Math.pow(1.4141, -1));
}
}

测试结果

8.0
0.7071635669330316
1.4141
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. CUDA 到底什么玩意

    * CUDA与cuDNN * 什么是CUDA * CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台. CUDA是一种由NVIDIA ...

  2. Python的WEB框架

    Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. ? 1 2 ...

  3. CentOS中使用FIO测试磁盘IO性能

    $ yum install fio 0x02 命令 随机读: $ fio -filename=/dev/sda1 -direct=1 -iodepth 1 -thread -rw=randread - ...

  4. python实现双向循环链表

    参考https://www.cnblogs.com/symkmk123/p/9693872.html#4080149 # -*- coding:utf-8 -*- # __author__ :kusy ...

  5. Intellij IDEA 中的 Debug 控制台输出窗口不见了的解决办法

    在 Debug 工具窗口,如图点击左侧重置布局图标,你的console窗口就还原了.

  6. 每天固定备份db sqlserver

    DECLARE @DBName varchar(255) DECLARE @DATABASES_Fetch int DECLARE DATABASES_CURSOR CURSOR FOR select ...

  7. SpringBoot入门初体验

    概述 Java项目开发中繁多的配置,复杂的部署流程和第三方技术集成让码农在开发项目中效率低下,因此springBoot应运而生. 环境 IntelliJ IDEA 2018.3 jkd1.8 开始(傻 ...

  8. C#生成唯一不重复订单号帮助类

    1.使用场景 通常,在做一些表单的功能时,需要生成唯一不重复的订单单号,本文提供的帮助类可以适合大多数场景的单号生成使用,拿来即用,方便快捷无重复.而且,在高并发的情况下也是可以使用的. 之前看到有人 ...

  9. 运维利器1-supervisor

    supervisor用来管理进程服务很方便 优点: 1.重启方便,无抖动感 2.可以分组管理进程 3.加入系统自动启动后,可以开机自启,程序异常退出能自动启动 操作: 1.在python沙箱环境下操作 ...

  10. Java自学-面向对象 属性

    Java类的属性 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 步骤 1 : 属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如Strin ...