• leetcode刷题笔记五十 Pow(x,n)


    leetcode刷题笔记五十 Pow(x,n)

    源地址:50. 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
    说明:

    -100.0 < x < 100.0
    n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。

    代码补充:

    //使用暴力方法求解超出时间限制
    //考虑使用分治法进行处理 时间复杂度为O(log(n)) 空间复杂度O(1)
    //首先要对n的正负情况进行处理
    //使用递归,判断n为奇偶 使用half作为一半用于进行计算
    //若n为奇数, return half*half*x
    //若n为偶数, return half*half
    
    import scala.math
    object Solution {
        def myPow(x: Double, n: Int): Double = {
            if(x==1||n==0) return 1
            //正负处理
            if(n < 0) return (1/myPowHelper(x,math.abs(n)))
            return myPowHelper(x,n)
        }
        
        def myPowHelper(x:Double, n:Int): Double = {
            if(n == 0) return 1
            val half = myPowHelper(x, n/2)
            if ( n%2 == 0) return half*half
            else return half*half*x
        }
    }
    
  • 相关阅读:
    装饰器函数
    二分查找
    jmter 二次开发 IDEA 项目5.1
    python 测试框架nose
    pycharm 参数、快捷键、调试模式
    IDea 工具debug模式详细使用说明
    MySQL zip安装
    adb 设备命令
    兰亭集序 王羲之
    adb 命令实用
  • 原文地址:https://www.cnblogs.com/ganshuoos/p/13261046.html
Copyright © 2020-2023  润新知