Pow(x, n)

2020-05-11  本文已影响0人  7赢月

题目描述

https://leetcode-cn.com/problems/powx-n/


package main

func myPow(x float64, n int) float64 {
    // 错误处理
    if x == 0 {
        return 0
    }
    if n == 0 || x == 1 {
        return 1
    }
    if n < 0 {
        x = 1 / x
        n = -n
    }
    var r float64 = x
    if n%2 != 1 {
        r = 1
    }
    var t float64 = x
    for n != 0 {
        n = n >> 1
        t = t * t
        if (n)&1 == 1 {
            r = r * t
        }
    }
    return r
}


思路

开始使用的暴力解,不过暴力解没有过时间限制。现在这种使用位操作!

上一篇 下一篇

猜你喜欢

热点阅读