您的位置:首页 > 编程语言 > Go语言

Algorithms—50.Pow(x, n)

2015-07-09 09:21 393 查看
思路:为了降低耗时要考虑各种情况直接return。

public class Solution {
public double myPow(double x, int n) {
if (n==0) {
return 1.0;
}
boolean flag=true;
if (n<0) {
n=0-n;
flag=false;
}
boolean slag=true;
if (x<0) {
x=0-x;
if (n%2!=0) {
slag=false;
}
}
if (x==1.0) {
return slag?1.0:-1.0;
}
double answer=1.0;
for (int i = 0; i < n; i++) {
answer*=x;
if (answer==0.0) {
return answer;
}
}
return flag?(slag?answer:-answer):(slag?1/answer:-1/answer);
}
}

耗时:336ms。下游水准,尝试优化了下也没有什么好的思路。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: