Algorithms—50.Pow(x, n)

原创 2015年07月09日 09:21:53

思路:为了降低耗时要考虑各种情况直接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。下游水准,尝试优化了下也没有什么好的思路。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode Algorithms 50. Pow(x, n) 题解

题目: Implement pow(x, n). 没有特殊要求,根据题目要求的输入,是(double x, int n),那么最大的阶数是MAX_INT,最小的阶数是MIN_INT。首先想到的是...

[leetcode] #50 Pow(x,n)

1.题目Implement pow(x, n).也就是要求实现幂的计算。2.蛮力法首先想到的当然是蛮力法,直接乘它个n次:double myPow(double x, int n) { for...

leetcode 50. Pow(x, n)-细说边界问题

原题链接:50. Pow(x, n) 【思路-Java】递归实现 采用递归实现,那么本题的终止条件是 n == 0 和 n == 1。这里不采用下面的做法: public class Solution...

Leetcode 50 Pow(x, n) 两种方式求解

50. Pow(x, n) My Submissions Question Total Accepted: 85668 Total Submissions: 307134 Diffic...

LeetCode 第 50 题 (Pow(x, n))

LeetCode 第 50 题 (Pow(x, n)) Implement pow(x, n). 这个题目非常简短,求 xnx^n。其中nn 为整数。 最简单的想法就是用一个循环,将 xx 自乘...

【LeetCode】50. Pow(x, n)

【LeetCode】50. Pow(x, n)

DAY21:leetcode #50 Pow(x, n)

Implement pow(x, n). Subscribe to see which companies asked this question class Solution(object):...

[LeetCode-50] Pow(x, n)(数值的整数次方)

Implement pow(x, n). Subscribe to see which companies asked this question 【方法一】: 1)最直观容易想到的方法就是用递...

50. Pow(x, n)

pow(x , n)

LeetCode50——Pow(x,n)

LeetCode50——Pow(x,n) 题意: 实现 math.h里面的pow函数。 好代码如下: class Solution { public: double myPow(double x, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)