当前位置: 首页 > article >正文

50. Pow(x, n)

目录

  • 题目
  • 我的解法
  • 解法

题目

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

示例 1:

输入:x = 2.00000, n = 10
输出:1024.00000
示例 2:

输入:x = 2.10000, n = 3
输出:9.26100
示例 3:

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

我的解法

用for循环暴力解

class Solution {
public:
    double myPow(double x, int n) {
        double sum=1;
        if(n>0){
            for(long int i=1;i<=n;i++){
                sum=x*sum;
            }
        }else if(n<0){
            for(long int i=1;i<=abs(n);i++){
                sum=1/x*sum;
            }
        }else if(n==0){
            return sum;
        }
       
        return sum;

    }
};

有老6测试用例,超过了整数上限,那我用一个长整型
在这里插入图片描述
然后还是超时了

解法

class Solution {
public:
    double quickMul(double x, long long N) {
        if (N == 0) {
            return 1.0;
        }
        double y = quickMul(x, N / 2);
        return N % 2 == 0 ? y * y : y * y * x;
    }

    double myPow(double x, int n) {
        long long N = n;
        return N >= 0 ? quickMul(x, N) : 1.0 / quickMul(x, -N);
    }
};



http://www.kler.cn/a/382500.html

相关文章:

  • 自己开发得期货资管模拟软件演示1.0.15版仅供学习
  • 告别复杂协作:Adobe XD的简化替代方案
  • 编译工具与文件学习(一)-YAML、repos、vcstoolcolcon
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day9
  • 导入和部署自定义 LLM 大模型
  • 单元测试(Junit)
  • android——jetpack startup初始化框架
  • 区别:矩阵合同和矩阵酉相似
  • Android15音频进阶之Cuttlefish搭建音频开发环境(九十二)
  • 了解数据库并发产生的问题
  • Claude发布桌面客户端!新功能支持分析100页PDF的图像!
  • 知识课堂——高匿ip在不同业务中的重要作用
  • 蓝桥杯真题——乐乐的序列和(C语言)
  • 每日算法一练:剑指offer——字符串篇(2)
  • Lua 怎么解决闭包内存泄漏问题
  • 【Java算法】分治--归并排序
  • C语言之写一个修改数组内容的函数
  • 【ChatGPT】如何使用条件逻辑让ChatGPT生成可选输出
  • 开源思维-到底什么是开源?
  • 【Allure】allure装饰器函数
  • java面试2.0
  • HTML 标签属性——id、class、style 等全局属性详解
  • 【Rust中的迭代器】
  • 综述一部分Knowledge Graphs Meet Multi-Modal Learning:A Comprehensive Survey
  • C 学习(4)
  • 探索信息技术的未来:趋势、机遇与挑战