资讯专栏INFORMATION COLUMN

小李飞刀:leetcode我又来啦~

zhangxiangliang / 1431人阅读

摘要:在拖完地板之后,想想还是补上今天的题解吧感谢小佳扬推荐的题目,默默的复习了一把递归第一题难度中等实现,即计算的次幂函数。因为是次幂,如果直接循环,复杂度就是了。次幂可以拆解为的方式。每次拆解,最后最小的单位应该为。

写在前面

年前嘛,就是各种涣散的状态。
在拖完地板之后,想想还是补上今天的题解吧~
感谢小佳扬推荐的题目,默默的复习了一把递归~

第一题

50. Pow(x, n)
难度:中等

实现 pow(x, n) ,即计算 x 的 n 次幂函数。

我的解题代码:

class Solution:
    def myPow(self, x, n):
        """
        :type x: float
        :type n: int
        :rtype: float
        """
        if not n:
            return 1
        if n < 0 :
            return 1 / self.myPow(x, -n)
        if n % 2:
            return x * self.myPow(x, n-1)
        return self.myPow(x*x, n/2)

参考了部分评论区的题解。
效率上还是可以的,复杂度在N(logn)左右。

我的解题思路:
一开始的时候小佳扬说是坑,我还在想不就是循环么。
后来她说要考虑怎么降低复杂度,否则会超时,就开始认真的思考了。

因为是n次幂,如果直接循环,复杂度就是O(n)了。

n次幂可以拆解为n/2n2的方式。

考虑n为偶数和奇数的情况,判断余数后进行计算即可。

每次拆解n/2,最后最小的单位应该为x*x。

因为每一轮都为前一轮的解的2次方,所以用递归。

总结:
递归还是比较绕的,前提是要找到每一次循环的出口,否则极容易变成死循环。
马上放假了~
统计学+算法+数据结构还是会常伴左右的~
最近还加上了托福的单词,因为受到了单词量统计的刺激,我居然现在知晓的单词量只有3k了,要抓紧背起来了~

自律使我快乐~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43137.html

相关文章

  • 小李飞刀:Python我又来啦,例无虚发~

    摘要:一点点小刀刀晚上收到了某招聘软件的的消息,心里慌的不行。所以在上面的代码中,我们可以考虑把改为来更好的看出继承关系。定义方法,在被用于循环时返回迭代对象,循环会不断的调用方法拿到下一个值,直到终止。 一点点小刀刀 晚上收到了某招聘软件的HR的消息,心里慌的不行。因为很想换岗位了,可是当机会来的时候,我却只能表示能力不行。所以要速速的加油了!!! 开始学习的分割 日常一点点小鸡血!请不要...

    ACb0y 评论0 收藏0
  • 小李飞刀:python我来做题啦

    摘要:好久不见最近都在忙年底的年会,还沉迷于学习统计学,教程还停留在基础语法。做题做题无论如何,数据结构还是很重要的,所以准备每天刷的题目啦。第一题移除元素给定一个数组和一个值,你需要原地移除所有数值等于的元素,返回移除后数组的新长度。 好久不见 最近都在忙年底的年会,还沉迷于学习统计学,python教程还停留在基础语法。但是仔细规划了下,还是要好好的瞄准目标前行。所以准备呢,实战走起来。 ...

    nevermind 评论0 收藏0
  • 小李飞刀:做题第六弹!

    摘要:给定的字符串只含有小写英文字母,并且长度不超过。其他这题了,要重做看了其他的人的题解,使用的是无限逼近中位值的办法,理论基础应该是泰勒公式。万万没想到居然用到了泰勒公式手工执行了下算法,反而理解的更快,但是泰勒公式还得再复习下。 写在前面的话 今天持续做题ing,python有意思~今天的题有点虐心...兴许是我太笨了...会努力学习的!动态规划我来啦~ 开始做题 第一题 459. 重...

    BigNerdCoding 评论0 收藏0
  • 小李飞刀:ppppppython是需要好好学习的

    摘要:直接抄其中一份的结论吧各地区招聘公司数量和平均待遇。可以看出不论是招聘公司的数据还是平均待遇水平主要都是北上广深杭州占优势。但事实证明,总是要有一些代价的。要学会看报错信息。函数定义结束后需要按两次回车重新回到提示符下。 又是写在前面的乱七八糟 持续学习的第三天了,持续学习是一个不容易培养的好习惯,但是坚持就是胜利嘛~昨天因为一点点事情,所以没能学习很长时间,今天要补回来。周末要搬家,...

    Simon 评论0 收藏0
  • 小李飞刀:飞呀飞呀python的骄傲放纵

    摘要:虽然还在一个城市里,但是感觉有了更多的自己的时间。但是有土办法也有聪明的办法。所以更高级的抽象化是需要逐步适应的。最近已经开始刷啦,受小伙伴感染,后续也会开始写习题本啦 小小唠叨几句 这几天都没有更新,不代表我没有学习吖!这两天都在忙着半夜,终于有了自己的小窝,一直住家里,突然搬出来心情还满奇特的。虽然还在一个城市里,但是感觉有了更多的自己的时间。比如现在是晚上十点,在家的话可能还有很...

    Jacendfeng 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<