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

Leetcode刷题详解——Pow(x, n)

1. 题目链接:50. Pow(x, n)

2. 题目描述:

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

提示:

  • -100.0 < x < 100.0
  • -231 <= n <= 231-1
  • n 是一个整数
  • 要么 x 不为零,要么 n > 0
  • -104 <= xn <= 104

3. 解法(递归)

3.1 算法思路:

  1. 递归函数的含义:求出xn次方是多少,然后返回
  2. 函数体:先求出x的n/2次方是多少,然后根据n的奇偶,得出xn次方是多少
  3. 递归出口:当n0的时候,返回1即可

请添加图片描述

3.2 C++算法代码:

class Solution {
public:double myPow(double x, int n) {return n<0?1.0/Pow(x,-(long long)n):Pow(x,n);}double Pow(double x,long long n){if(n==0) return 1.0;double tmp=Pow(x,n/2);return n%2==0? tmp*tmp:tmp*tmp*x;}
};
http://www.lryc.cn/news/213992.html

相关文章:

  • 计算机毕业设计选题推荐-校园失物招领微信小程序/安卓APP-项目实战
  • 人工智能基础_机器学习011_梯度下降概念_梯度下降步骤_函数与导函数求解最优解---人工智能工作笔记0051
  • 开放式耳机能保护听力吗,开放式耳机跟骨传导耳机哪个更好?
  • 【Qt之QLocale】使用
  • 维修服务预约小程序的效果如何
  • 前端架构体系调研整理汇总
  • DrawerLayout的点击事件会穿透到底部,如何拦截?
  • 在Spring boot中 使用JWT和过滤器实现登录认证
  • 天堂2如何对版本里面的内容进行修改
  • 代码随想录Day33 LeetCode T62不同路径 LeetCode T63 不同路径II
  • 【计算机网络】分层模型和应用协议
  • Python框架之Flask入门和视图
  • streamWriter.WriteLine
  • 一键添加色彩变幻效果,视频剪辑从未如此简单!
  • Linux的简介和环境搭建
  • 你看现在的程序员,是怎么解bug的
  • CSS3背景样式
  • JAVA同城服务同城圈子真人躲猫猫系统的玩法流程
  • C++继承——圆形和圆柱体
  • 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]
  • Java规则引擎2.1.8版本新增功能说明
  • 系列四十、请谈一下Spring中事务的传播行为
  • kubectl详解
  • QT通过url下载http地址下的文件(文件夹)
  • 测试实施运维必备知识点
  • RTSP/Onvif安防视频平台EasyNVR接入EasyNVS,出现Login error报错的解决方法
  • 在Linux环境下远程访问MeterSphere开源测试平台
  • ARPG----C++学习记录02 Section6位置,偏移,函数
  • 怎么在现货黄金交易过程中高效设置止损?
  • centos做个登录提醒