目錄
一,題目描述
中文描述
示例與說明
二,解題思路
三,AC代碼
Java
四,解題過程
第一搏
一,題目描述
中文描述
實作 pow(x, n) ,即計算 x 的 n 次幂函數(即,xn)。
示例與說明
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/powx-n 著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
二,解題思路
舉個例子。
當求2^10時,隻需求出2^5,然後直接return (2^5) * (2^5)
同理,求2^5時,隻需求出2^2,然後return (2) * (2^2) * (2^2)即可。
求2^1時,直接傳回2即可。
需要注意!!!
三,AC代碼
Java
class Solution {
public double myPow(double x, int n) {
if (x == 0) return 0;
if (n < 0) return 1 / getPow(x, 0 - n);// 當n為負時,計算1 / (x^n),而不是(1/x)^n
else return getPow(x, n);
}
public double getPow(double x, int n) {
if (x == 0) return 0;
else if (n == 0) return 1;
else if (n == 1) return x;
else {
double ans = getPow(x, n / 2);
if (n % 2 == 0) return ans * ans;
else return x * ans * ans;
}
}
}