经蛋蛋介绍,才知道leetcode,看了一下,题目还不错,只要求写出部分代码,实现某一个功能,貌似比较接近公司的面试题。还有就是题目描述简洁,哈哈。
题目描述:Implement pow(x, n).
C语言版:
测试数据比较严,还有负数,比较奇葩的是测试数据包含有INT_MIN,此处应注意它是不能通过改变符号转化为int型的,因为转化之后已经溢出int型
double myPow(double x, int n) {
double s = 1.0;
if (n < 0){
if(n == INT_MIN)
return 1.0 / (myPow(x, -(n + 1)) * x);
return 1.0 / myPow(x, -n);
}
while(n){
if(n & 1) s *= x;
x *= x;
n = n >> 1;
}
return s;
}
python版:
python版简直就是开挂,一行代码搞定,人生苦短,唯有python~
class Solution:
def pow(self, x, n):
return x ** n