876 B
876 B
layout, title, last_solved, category, leetcode_url, status
| layout | title | last_solved | category | leetcode_url | status |
|---|---|---|---|---|---|
| page | Pow(x, n) | 2020-07-16 | bit manipulation | https://leetcode.com/problems/powx-n/ | Attempted |
Problem
Implement pow(x, n), which calculates x raised to the power n (xn).
Example 1:
Input: 2.00000, 10
Output: 1024.00000
Example 2:
Input: 2.10000, 3
Output: 9.26100
Example 3:
Input: 2.00000, -2
Output: 0.25000
Explanation: 2-2 = 1/22 = 1/4 = 0.25
Solution
Didn't quite get it to work. Do check out Timonthy's explanation
{% highlight python %}
def myPow(self, x: float, n: int) -> float:
if n<0:
x = 1/x
n = n*-1
output = 1
while n>0:
if n&1:
print(n, x, output)
output *= x
n>>=1
x=x*x
return output
{% endhighlight %}