【Leetcode每日一题】 递归 - Pow(x, n)(难度⭐⭐)(40)

1. 题目解析

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

这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。

2.算法原理

  • 在这个算法中,递归函数的任务是求出 x 的 n 次方。
  • 那么,这个函数是怎么工作的呢?
  • 它并不直接计算 x 的 n 次方,而是先找出 x 的 n/2 次方。这个步骤很关键,因为它把问题规模缩小了一半。接下来,根据 n 的奇偶性,我们可以得出 x 的 n 次方的结果。
  • 具体地说,如果 n 是偶数,那么 x 的 n 次方就等于 x 的 n/2 次方的平方。这个很好理解,比如 2 的 4 次方等于 (2 的 2 次方) 的平方,即 4 的平方,结果是 16。
  • 如果 n 是奇数,那么 x 的 n 次方就等于 x 乘以 x 的 (n-1)/2 次方的平方。这同样很直观,比如 2 的 5 次方等于 2 乘以 (2 的 4 次方),即 2 乘以 16,结果是 32。
  • 最后,我们需要确定递归的终止条件。很简单,当 n 为 0 的时候,任何数的 0 次方都是 1,所以我们直接返回 1。

3.代码编写

class Solution 
{
public:double myPow(double x, long long n) {return n < 0 ? 1 / pow(x, 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;}
};

The Last

嗯,就是这样啦,文章到这里就结束啦,真心感谢你花时间来读。

觉得有点收获的话,不妨给我点个吧!

如果发现文章有啥漏洞或错误的地方,欢迎私信我或者在评论里提醒一声~ 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

es 集群核心概念以及实践

节点概念&#xff1a; 节点是一个Elasticsearch的实例 本质上就是一个JAVA进程一台机器上可以运行多个Elasticsearch进程&#xff0c;但是生产环境一般建议一台机器上只运行一个Elasticsearch实例 每一个节点都有名字&#xff0c;通过配置文件配置&#xff0c;或者启动时候 -…

Android Zygote的面试问题

问题&#xff1a; 什么是Zygote进程在Android系统中的作用&#xff1f; 答案&#xff1a; Zygote是Android系统中的一个核心进程&#xff0c;它的主要作用是作为系统启动和Android应用程序进程的母进程。Zygote预加载了Android框架层和核心库&#xff0c;通过复制自身创建新的应…

软件工程-第5章 结构化设计

5.1 总体设计的目标及其表示方法 5.2 总体设计 变换设计基本步骤&#xff1a; 第1步&#xff1a;设计准备--复审并精华系统模型&#xff1b; 第2步&#xff1a;确定输入、变换、输出这三部分之间的边界&#xff1b; 第3步&#xff1a;第一级分解--系统模块结构图顶层和第一层…

安卓面试题多线程 116-120

116. 简述多线程同步和互斥有几种实现方法,都是什么 ?线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的进程系统资源,在各单个线程访问时的排它性…

产品软文怎么写?媒介盒子分享公式

软文写出来的目的除了提高品牌知名度外&#xff0c;还需要推广产品&#xff0c;当企业新品上市、推广产品以及营销产品的时候&#xff0c;就需要产品类软文出手。然而产品软文想要写好还需要一定的技巧&#xff0c;今天媒介盒子就来和大家分享&#xff1a;产品软文写作公式。 一…

【C++】每日一题 56 合并区间

以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 #include <iostream> #include <vector> #…

【详细讲解如何快速上手Vue.js框架】

如何快速上手Vue.js框架 1. 前言2. 理解Vue.js的核心概念3. 搭建开发环境4. 创建第一个项目5. 学习基础6. 进阶概念7. 最佳实践和模式8. 构建和部署9. 持续学习10. 实际操作 &#x1f308;&#x1f308;&#x1f308;欢迎 &#x1f308;&#x1f308;&#x1f308; &#x1f38…

谷歌搜索技巧

搜技术书籍pdf&#xff1a; xxx书: filetype:pdf 搜电影&#xff1a; 周处除杀害:torrent 搜图片&#xff1a; 狗: 500X500 即可找到相关分辨率大小的&#x1f436;图 平常搜索 一般为浅搜索&#xff0c;加上引号 为 高精度搜索/深度搜索 年份搜索&#xff1a; 在问题的后面…

jsp页面显示乱码问题

页面展示乱码&#xff0c;以为是tomcat或者eclipse的问题&#xff0c;将tomcat和eclipse的默认编码格式都设置为了UTF-8,访问页面还是乱码&#xff0c;于是在代码中加入了一行代码&#xff1a; <% page language"java" contentType"text/html; charsetUTF-8…

把txt、pdf等文件转为一行一行的doccano数据集输入格式

文章目录 doccano 数据集导入简介代码实现代码运行结果代码公开 doccano 数据集导入 在Doccano 导入数据集时&#xff0c;使用TextLine的文件格式&#xff0c;导入的文件需要为一行一行文本的数据格式&#xff0c;每一行文本在导入Doccano后就是一条数据。 简介 主要工作说明…

深入了解Android垃圾回收机制

文章目录 一、内存分配二、垃圾回收触发条件三、GC算法3.1 Dalvik虚拟机的GC算法3.2 ART的GC算法 四、优化GC性能五、监控GC耗时情况六、总结 在Android应用开发中&#xff0c;内存管理和垃圾回收&#xff08;GC&#xff09;对于应用性能和稳定性至关重要。理解GC机制有助于我们…

[linux]--关于进程概念(下)

目录 孤儿进程 环境变量 将程序放到PATH路径下 设置PATH环境变量 设置别名 环境变量相关的命令 环境变量的组织方式​编辑 通过系统调用获取环境变量 环境变量通常是具有全局属性的 进程优先级 查看系统进程 用top命令更改已存在进程的nice&#xff1a; 程序地址空…

(附源码)基于SSM的校园兼职系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

CCF-CSP认证考试 202303-4 星际网络II 100分题解

更多 CSP 认证考试题目题解可以前往&#xff1a;CSP-CCF 认证考试真题题解 原题链接&#xff1a; 202303-4 星际网络II 时间限制&#xff1a; 2.0s 内存限制&#xff1a; 1.0GB 问题描述 随着星际网络的进一步建设和规模的增大&#xff0c;一个新的问题出现在网络工程师面前…

uniapp ios证书失效

前面是按照网上查找的方法 作者大大的地址 1、一个ios账户&#xff08;688付费版&#xff09; 2、登录 Apple Developer 3、创建Identifiers ps&#xff1a;创建时需继承苹果的sdk&#xff0c;只需要一个就行 点击continue再点击Register即可 4、创建.cer证书 &…

tcp seq ack

seq&#xff08;Sequence Number&#xff09;&#xff1a;32bits&#xff0c;表示这个tcp包的序列号。tcp协议拼凑接收到的数据包时&#xff0c;根据seq来确定顺序&#xff0c;并且能够确定是否有数据包丢失。 ack&#xff08;Acknowledgment Number&#xff09;&#xff1a;3…

安卓开发日记:实现APP重启逻辑,适用于热更后重启游戏进行加载

可根据合适的弹窗搭配使用重启逻辑&#xff0c;建议使用在热更包加载后使用&#xff0c;帮助部分热更后未及时生效的逻辑范围首先&#xff0c;在逻辑调用Activity类中创建一个成员变量&#xff0c;给后续逻辑接口直接使用 如下 public class MainActivity extends Activity {…

想当初级爬虫工程师,需要把爬虫学到什么程度?

这篇文章会说说我自己的心得体验&#xff0c;关于爬虫、关于工作&#xff0c;仅供参考。 学到哪种程度 暂且把目标定位初级爬虫工程师&#xff0c;简单列一下吧&#xff1a; &#xff08;必要部分&#xff09; 语言选择&#xff1a;一般是了解Python、Java、Golang之一 熟悉…

SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现SSA-TCN-BiGRU-Attention麻雀算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

【回溯、分治、Kadane】算法例题

目录 十五、回溯 101. 电话号码的字母组合 ② 102. 组合 ② 103. 全排列 ② 104. 组合总和 ② 105. N皇后II ③ 106. 括号生成 ② 107. 单词搜索 ② 十六、分治 108. 将有序数组转换为二叉搜索树 ① 109. 排序链表 ② 110. 建立四叉树 ② 111. 合并K个升序链表 ③ …