指数幂+力扣

题目

题目链接

. - 力扣(LeetCode)

题目描述

代码实现

class Solution {
public:
    double myPow(double x, int n) {
        long t = n;
        return t >= 0 ? _myPow(x, t) : 1 / _myPow(x, -t);
    }
    double _myPow(double x, int n){
        if(n == 0)  return 1;
        double y = _myPow(x, n / 2);//算出幂的一半的值
        return n % 2 == 0 ? y * y : y * y * x;
    }
};

思路分析

我们这里用的是递归思路。这里可以将递归函数看作是一个黑盒,可以完成我们想要的需求,在本道题即能够算出幂的一半的值

1、偶数次幂等于两个指数一半相乘奇数次幂等于两个指数一半相乘再乘上一个底数

2、当是一个负数的时候,将指数转换成为正数求出结果,然后再用1除以这个结果。

3、这个题指数的范围是-2的31次幂,所以int类型是存不下的,再开始的时候就将n转换成为long类型存储。

4、最后考虑递归出口,也就是指数等于0的时候,返回1即可。

可以参考下边的图示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/449069.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【解决】Sublime Text找不到Package Control选项,且输入install也不显示Install Package(其中一种情况)

【问题描述】 Sublime Text 找不到 Package Control 选项,且输入 install 也不显示 Install Package 【解决方法】(其中一种情况) 1、工具栏 Preferences -> Settings,点开查看设置文档 2、检查 "ignored_packages&q…

Vue+OpenLayers7入门到实战:OpenLayers地图鼠标点击事件使用,点击地图后弹框并显示当前位置经纬度

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上监听点击事件,以及监听地图点击事件后进行简单弹框并获取当前点击位置的经纬度并显示wgs84坐标位置和度分秒格式经纬度信息。 二、依赖和使用 "ol": "…

【开发】JavaWeb开发中如何解析JSON格式数据

目录 前言 JSON 的数据类型 Java 解析 JSON 常用于解析 JSON 的第三方库 Jackson Gson Fastjson 使用 Fastjson Fastjson 的优点 Fastjson 的主要对象 JSON 接口 JSONObject 类 JSONArray 类 前言 1W:什么是JSON? JSON 指 JavaScrip t对象表…

上手OpenMMLab——从零开始通过mmagic上手AIGC

上手OpenMMLab——从零开始通过mmagic上手AIGC 目录 上手OpenMMLab——从零开始通过mmagic上手AIGC**写在前面****MMagic简介与特性****环境搭建与初步探索****文本生成与编辑****图像生成与风格迁移****音频生成与语音合成****高级应用与案例分享** **总结****附录&#xff1a…

sqli-labs练习

2关 找出数据库名字 从数据库security 中找到表明名: 找到数据库名字: 从表users中找到列: 取出表users用户名和密码:用户名~密码 3关 判断出id是(‘id’)的形式 4关 双引号测试报错,推测是(“id“) 5关 填写id=1没有回显信息(布尔盲注一般适用于页面没有回显字…

力扣--动态规划97.交错字符串

思路分析: 动态规划数组定义: dp[i][j] 表示:使用字符串 s1 的前 i 个字符和字符串 s2 的前 j 个字符,能否构成字符串 s3 的前 i j 个字符的交错组合。 初始化: dp[0][0] 初始化为 1,表示空串是 s1 和 s2 …

蓝桥杯练习系统(算法训练)ALGO-980 斐波那契串

资源限制 内存限制:256.0MB C/C时间限制:10.0s Java时间限制:30.0s Python时间限制:50.0s 问题描述 斐波那契串由下列规则生成:   F[0] "0";   F[1] "1";   F[n] F[n-1] F[n-2]…

2024年最新《国际预警期刊》正式更新!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、国际期刊预警名单的变化?二、课程案例展示(篇幅有限仅展示部分)1.【热图系列】2.【九象限图系列】3.【富集分析系列】4.【机…

Redis哨兵模式(Sentinel)的搭建与配置

创建三个Redis实例所需的目录,生产环境需独立部署在不同主机上,提高稳定性。 Redis 哨兵模式(Sentinel)是一个自动监控处理 redis 间故障节点转移工作的一个redis服务端实例,它不提供数据存储服务,只进行普通 redis 节点监控管理,使用redis哨兵模式可以实现redis服务端故…

压缩自定义格式压缩包<2>:python使用DEFLATE 算法打包并解压成功,但是解压后的文件格式是固定后缀。

打包 import zlib import osdef compress_folder(input_folder, output_filename):"""使用 DEFLATE 算法压缩文件夹下的所有文件。Parameters:input_folder: str要压缩的文件夹路径。output_filename: str输出压缩文件名。"""# 创建一个空的字节…

数据结构绪论

数据元素;数据项;组合项 数据对象 有相同性质的数据元素就属于同一个数据对象; 而数据结构则要求数据元素之间存在特定的关系! 线性数据结构&网状数据结构 数据结构这门课关注的是数据元素之间的关系,和对这些…

做抖音小店需要交钱吗?有门槛吗?都有哪些入驻条件和费用?

大家好,我是电商花花。 在抖音上开店已经成为很多人追逐的方向,因为这些人都看到别人在抖音上赚到钱,然后也想在抖音上尝试一下。 然而,许多人心中仍然存着一个问题,就是做抖音小店需要交钱吗?是否存在门…

盛元广通粮油质量检测实验室管理系统

近年来对于食品安全问题层出不穷,为提高粮食检测中心管理水平,关系到千千万万的消费者的健康饮食问题,粮油作为老百姓日常生活饮食必需品、消耗品,需从源头上对粮食在本省(区、市、县)不同粮食品种检测检测…

WorkPlus Meet提供高效、安全视频会议解决方案

WorkPlus Meet是一款私有部署和定制化的视频会议解决方案,为企业提供高效、安全的远程协作平台。随着全球数字化转型的加速,视频会议已成为企业必不可少的工作工具,而WorkPlus Meet的私有部署和定制化功能,为企业提供了更大的控制…

KIF本地密钥注入验证步骤 RSA加解密 python JAVA

**验证步骤:** # 终端随机生成一对RSA key pair pem文件 # 终端把sn及公钥发过去 # KIF返回公钥加密后的IPEK及明文IPEK的KCV (加密机处理加密等操作:把sn和Base Derivation Key分散生成IPEK用加密机的Local Master Key存入加密机&#xff0c…

面试官:说说你对事件循环的理解

一、事件循环是什么 首先,JavaScript是一门单线程的语言,意味着同一时间内只能做一件事,但是这并不意味着单线程就是阻塞,而实现单线程非阻塞的方法就是事件循环 在JavaScript中,所有的任务都可以分为 同步任务&#…

鸿蒙操作系统 HarmonyOS 3.2 API 9 Stage模型通过ArkTS接入高德地图

用鸿蒙ArkTS语言开发地图APP应用时&#xff0c;很多地图厂商只接入了鸿蒙Java&#xff0c;ArkTS版本陆续接入中&#xff0c;等一段时间才能面世&#xff0c;当前使用地图只能通过鸿蒙的Web组件&#xff0c;将HTML页面嵌入到鸿蒙APP中。具体方法如下&#xff1a;编写HTML <!…

STM32寄存器总结

stm32f10x.h AFIO AFIO->MAPR |= (0<<26)|(1<<25)|(0<<24)|(1<<5)|(1<<4)|(1<<3)|(1<<2)|(1<<0); 复用重映射和调试I/O配置寄存器(AFIO_MAPR) 地址偏移:0x04 复位值:0x0000 0000 第24-26位: 设置值:010 说明: …

初学Vue——打包部署Vue前端静态资源

0 引言 我们的前端工程开发好了&#xff0c;但是我们需要发布&#xff0c;那么如何发布呢&#xff1f;主要分为2步&#xff1a; 前端工程打包 通过nginx服务器发布前端工程 在完成Vue项目后&#xff0c;我们需要将项目部署到服务器中&#xff0c;才能够在互联网中访问。这里…

do while循环、嵌套循环、数组简介

本文参考C Primer Plus进行学习 文章目录 出口循环条件&#xff1a;do while如何选择循环嵌套循环数组简介 在for循环中使用数组 一.出口循环条件&#xff1a;do while 出口循环条件&#xff0c;即在循环的每次迭代之后检查测试条件&#xff0c;这保证了至少执行循环体中的内容…