LeetCode题目-50

首页 编程分享 LEET_CODE 正文

leetCode 转载 编程分享 2017-08-12 13:12:56

简介 LeetCode题目-50


✏Leetcode之PHP版题目解析(50. Pow(x, n))


✏描述

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


✏题目实例


✏题目分析

这道题可以直观的用暴力法来解决,具体的思路就是模拟整个过程,将值x连乘n次.如果n是负数的话我们可以把x用 1/x 代替,然后将n取绝对值.这种方法的时间复杂度是O(n).还有一种更快的方法,叫快速幂算法,它的时间复杂度为O(logn)

✏解

 /**
     * @param Float $x
     * @param Integer $n
     * @return Float
     */
    function myPow($x, $n) {
    if(!$n){
        return 1;
    }
    if ($n <= 0) {
        return 1/$this->myPow($x, -$n);
    }
    if ($n %2) {
        return $x * $this->myPow($x, $n-1);
    }

    return $this->myPow($x*$x, $n/2);
    }

转载链接:https://leetcode.cn/


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论




ABOUT ME

Blogger:袅袅牧童 | Arkin

Ido:PHP攻城狮

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云