50. Pow(x, n)
problem description
Implement pow(x, n), which calculates x raised to the power n (xn).
Example 1:
Example 2:
Example 3:
Note:
-100.0 < x < 100.0
n is a 32-bit signed integer, within the range [−231, 231 − 1]
algorithm thought
求2的100次方,如果直接乘100次,其实没有必要。完全可以求4的50次方,然后16的25次方。这样每次能减少一半的计算量。这里的问题就是还有负数。如果是负数的话,首先将x化为1/x。然后将n转化为正数。最后,一种最特殊的情况就是如果数字是INT_MIN,最后直接将n-1即可。这样INT_MIN就会变INT_MAX
code
algorithm analysis
每次将次数降低一半,时间复杂度O(lgn)
Last updated