题目:
实现 pow(x, n) ,即计算 x 的 n 次幂函数。
示例 1:
输入: 2.00000, 10
输出: 1024.00000
示例 2:
输入: 2.10000, 3
输出: 9.26100
示例 3:
输入: 2.00000, -2
输出: 0.25000
解释: 2-2 = 1/22 = 1/4 = 0.25
为了解决这道题,我不知道熬了多少个凄凉的夜晚,尝试了多少解题方法。其中我甚至用到了物理上的牛顿第二定律、万有引力以及欧姆定律,但是结果都是无一例外的失败了。在这一刻,我很想哭、很想笑,我哭我自己的无能,我笑我自己的坚持。。。。。。
最后,在一个月黑风高的夜晚,在我尝试了第一千二百五十八种办法之后,我突然灵光一🌂。我在想,我为什么不能回归问题的本质?我为什么不能利用已有的资源?!我推倒了我之前所有的假设,然后找到了最终的奥义-- 分治 ,是它,就是它,解决问题本源的钥匙。
我成功了,在这一刻,我哭了,哭的撕心裂肺。想起曾经自己奋战的无数个日日夜夜,那是多么的不容易啊!这时候,外面的雨滴滴答答的滴落下来,砸在瓦砾上,演奏着世上最动听的声音。
方法一:
class Solution {
public double myPow(double x, int n) {
long N = n;
//需要处理n为负数的情况
if(n < 0){
x = 1 / x