题目:http://oj.leetcode.com/problems/powx-n/
Implement pow(x, n).
题目翻译:
实现pow(x,n)。
分析:
二分。
C++实现:
class Solution {
public:
double pow(double x, int n) {
if(n < 0)
{
return 1.0 / power(x, -n);
}
else
{
return power(x, n);
}
}
double power(double x, int n) {
if(n == 0)
{
return 1;
}
double tmp = pow(x, n / 2);
if(n & 0x01)
{
return tmp * tmp * x;
}
else
{
return tmp * tmp;
}
}
};
Java实现:
public class Solution {
public double pow(double x, int n) {
if (n < 0) {
return 1.0 / power(x, -n);
} else {
return power(x, n);
}
}
public double power(double x, long n) {
if (n == 0) {
return 1;
}
double tmp = power(x, n / 2);
if ((n & 0x01) == 1) {
return tmp * tmp * x;
} else {
return tmp * tmp;
}
}
}
Python实现:
class Solution:
# @param x, a float
# @param n, a integer
# @return a float
def pow(self, x, n):
if n < 0:
return 1.0 / self.power(x, -n)
else:
return self.power(x, n)
def power(self, x, n):
if n == 0:
return 1
tmp = self.power(x, n / 2)
if n & 0x01 == 1:
return tmp * tmp * x
else:
return tmp * tmp
感谢阅读,欢迎评论!
这篇博客介绍了如何解决LeetCode上的第50题,即设计一个函数实现指数运算pow(x, n)。文中通过C++、Java和Python三种语言提供了实现代码,并对解题思路进行了二分法的分析。"
106599999,8363610,Druid连接池配置与使用详解,"['jdbc', 'java', '数据库连接池', 'Druid']
&spm=1001.2101.3001.5002&articleId=21701775&d=1&t=3&u=dd55890b34fe4742b140a0a01d770fb8)
287

被折叠的 条评论
为什么被折叠?



