(java) Pow(x, n)
2016-02-16 22:41
573 查看
Implement pow(x, n).
思路:当n是正数时 当n是偶数等于half*half 当n是奇数时等于half*half*x;
当n是负数时,处理成正数,用1除就行了,注意边界当n等于Integer.MINVALUE时要特殊处理
代码如下(已通过leetcode)
public class Solution {
public double myPow(double x, int n) {
if(n==0) return 1.0;
if(n<0) {
if(n==Integer.MIN_VALUE) {
return 1.0/myPow(x, -n-1)*x;
}
else return 1.0/myPow(x,-n);
};
double half=myPow(x, n>>1);
if(n%2==0) return half*half;
else return half*half*x;
}
}
思路:当n是正数时 当n是偶数等于half*half 当n是奇数时等于half*half*x;
当n是负数时,处理成正数,用1除就行了,注意边界当n等于Integer.MINVALUE时要特殊处理
代码如下(已通过leetcode)
public class Solution {
public double myPow(double x, int n) {
if(n==0) return 1.0;
if(n<0) {
if(n==Integer.MIN_VALUE) {
return 1.0/myPow(x, -n-1)*x;
}
else return 1.0/myPow(x,-n);
};
double half=myPow(x, n>>1);
if(n%2==0) return half*half;
else return half*half*x;
}
}
相关文章推荐
- 字符串处理
- java学习日记——基本操作02
- Java中的@Override的作用
- RxJava开发精要8 – 与REST无缝结合-RxJava和Retrofit
- (java) Search Insert Position
- Spring REST是什么?(转)
- RxJava开发精要6 – Observables组合
- RxJava开发精要5 – Observables变换
- spring framework 下载地址
- RxJava开发精要4 – Observables过滤
- RxJava开发精要3-向响应式世界问好
- Spring REST(转)
- RxJava开发精要2-为什么是Observables?
- (蓝桥杯练习系统)ADV-167 快乐司机
- RxJava开发精要1-从.NET到RxJava
- java中的注解
- java中的注解
- (java) Sqrt(x)
- Java学习之构造方法
- java迭代器demo