zoukankan      html  css  js  c++  java
  • leetcode-50

    实现 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] 。

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/powx-n
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    这个题就是数学题嘛,程序上需要注意的是我们可以取巧少一些循环处理,但是基础还是数学的幂运算规则。

    class Solution {
        public double myPow(double x, int n) {
            long N = n;
            if (N < 0) {
                N = -N;
                x = 1 / x;
            }
            return fastPow(x, N);
    
        }
    
        private double fastPow(double x, long n) {
            if (n == 0) {
                return 1.0;
            }
            double half = fastPow(x, n / 2);
            if (n % 2 == 0) {
                return half * half;
            } else {
                return half * half * x;
            }
        }
    }

    end

    一个没有高级趣味的人。 email:hushui502@gmail.com
  • 相关阅读:
    215. Kth Largest Element in an Array
    B:魔兽世界之一:备战
    218. The Skyline Problem
    编程作业: 编程作业—类和对象
    239. Sliding Window Maximum
    313. Super Ugly Number
    hdu3068 manacher模板题
    fzu1901 kmp
    hdu2609 最小表示法
    hdu3374 kmp+最小表示法
  • 原文地址:https://www.cnblogs.com/CherryTab/p/12392373.html
Copyright © 2011-2022 走看看