LeetCode - 50. Pow(x,n) 计算 x 的 n 次幂函数(递归,分治的思想)

该博客详细介绍了如何利用递归和分治思想解决LeetCode中的50题——计算x的n次幂。博主在经历多次失败后,最终发现了快速幂的方法,通过迭代或递归实现高效求解,并分享了自己在解题过程中的心路历程。
摘要由CSDN通过智能技术生成
  1. Pow(x,n)

题目:
实现 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值