原題地址:https://oj.leetcode.com/problems/powx-n/
題意:Implement pow(x, n).
解題思路:求冪函數的實現。使用遞歸,類似於二分的思路,解法來自Mark Allen Weiss的《數據結構與算法分析》。
正確代碼:
class Solution: # @param x, a float # @param n, a integer # @return a float def pow(self, x, n): if n == 0: return 1.0 elif n < 0: return 1 / self.pow(x, -n) elif n % 2: return self.pow(x*x,n/2)*x else: return self.pow(x*x,n/2)
代碼:
這段代碼似乎無法ac,因為沒有處理指數為負數的情況。
class Solution: # @param x, a float # @param n, a integer # @return a float def pow(self, x, n): if n == 0: return 1 elif n == 1: return x elif n % 2: return self.pow(x*x,n/2)*x else: return self.pow(x*x,n/2)