博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode刷题篇】剑指offer-数值的整数次方
阅读量:1887 次
发布时间:2019-04-26

本文共 773 字,大约阅读时间需要 2 分钟。

实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。

示例 1:

输入: 2.00000, 10
输出: 1024.00000

示例 2:

输入: 2.10000, 3
输出: 9.26100

示例 3:

输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25

解题思路:快速幂的思路

非递归方式实现

// 快速幂		public double myPow(double x,int n) {
long power = n; if(power<0) {
x = 1/x; power = (-1)*power; } // 结果 double res = 1; // 快速幂 while(power!=0) {
if(power%2==1) {
res *= x; } power = power/2; x = x*x; } return res; }

递归方式实现

// 递归		public double myPow_2(double x,int n) {
if(n==0) {
return 1; } if(n==1) {
return x; } if(n==-1) {
return 1/x; } double half = myPow_2(x, n/2); double mod = myPow_2(x, n%2); return half*half*mod; }

转载地址:http://czwdf.baihongyu.com/

你可能感兴趣的文章
基于JavaWeb的物流管理系统的设计与实现
查看>>
linux不删除文件:替换rm命令
查看>>
scala集合类型,函数
查看>>
yarn: 资源调度机制
查看>>
spark的shell脚本分析
查看>>
ubuntu 16:使用系统自带的中文输入法
查看>>
docker系列6 :k8s集群[ 解压安装 ]
查看>>
centos7 基于rsync+inotify 实现定时备份
查看>>
指定IP进行 文件的分发
查看>>
基于http搭建本地yum仓库
查看>>
常规邮件基础
查看>>
邮件基础之 -- SMTP协议
查看>>
Java设计模式--责任链模式
查看>>
OpenCV的cvLoadImage函数
查看>>
OpenCV中与matlab中相对应的函数
查看>>
C/C++中二维数组作函数形参时,调用函数时,可传递的实参类型的小结
查看>>
cvGetSubRect与cvMul用法
查看>>
opencv图像处理梯度边缘和角点
查看>>
Caffe源码中blob文件分析
查看>>
OpenCV 图像采样 插值 几何变换
查看>>