【一刷《剑指Offer》】面试题 11:数值的整数次方

news2024/11/23 4:18:14

力扣对应题目链接:50. Pow(x, n) - 力扣(LeetCode)

牛客对应题目链接:数值的整数次方_牛客题霸_牛客网 (nowcoder.com)


一、《剑指Offer》内容


二、分析题目

【快速幂 + 递归】

当指数 n 为负数时,我们可以计算 x^(−n) 再取倒数得到结果,因此我们只需要考虑 n 为自然数的情况。

假设我们需要计算 x^64,可以按照下面这个计算顺序:

从 x 开始,每次直接把上一次的结果进行平方,计算 6 次就可以得到 x^64 的值,而不需要对 x 乘 63 次 x。

下面再举一个奇数的例子,x^77 可以按照下面这个计算顺序:

在  这些步骤中,我们直接把上一次的结果进行平方,而在  这些步骤中,我们把上一次的结果进行平方后,还要额外乘一个 x。

由于每次递归都会使得指数减少一半,因此递归的层数为 O(log⁡N),算法可以在很快的时间内得到结果。


三、代码

//力扣AC代码
class Solution {
public:
    double pow(double x, long long n)
    {
        if(n==0) return 1.0;
        double k=pow(x, n/2);
        if(n%2==0) return k*k;
        else return x*k*k;
    }
    double myPow(double x, int n) {
        if(n<0) return 1.0/pow(x, (long long)n);
        else return pow(x, n);
    }
};

//牛客AC代码
class Solution {
public:
    double myPow(double x, int n)
    {
        if(n==0) return 1.0;
        double k=myPow(x, n/2);
        if(n%2==0) return k*k;
        else return x*k*k;
    }
    double Power(double base, int exponent) {
        if(exponent<0) return 1.0/myPow(base, exponent);
        else return myPow(base, exponent);
    }
};

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

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

相关文章

大模型应用开发极简入门

简单的归纳一下书的前序部分 目录 LLM&#xff08;Large Language Model&#xff09;的应用技术栈通常包括以下几个方面&#xff1a; 深度学习框架&#xff1a; 数据预处理工具&#xff1a; 训练资源&#xff1a; 模型优化和调参工具&#xff1a; 部署和应用集成&#xf…

基于Vue3的Axios异步请求

基于Vue3的Axios异步请求 1. Axios安装与应用2. Axios网络请求封装3. axios网络请求跨域前端解决方案server.proxy 1. Axios安装与应用 Axios是一个基于promise的网络请求库&#xff0c;Axios.js.中文文档&#xff1a;https://axios.js.cn/ 安装&#xff1a;npm install --sa…

链表之两数相加

两数相加 题目&#xff1a; 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&am…

简单几步!新手开抖店如何快速上手?看这一篇就够了!

大家好&#xff0c;我是电商花花。 很多新手卖家在做抖音小店的时候都是0基础的小白&#xff0c;在开好店铺之后却不知道如何下手。 那么今天花花就来跟 大家分享一下我们是怎么做抖音小店&#xff0c;怎么做店铺运营的&#xff0c;如果你作为一个刚开店的新手&#xff0c;一…

Java的逻辑控制和方法的使用介绍

前言 程序的逻辑结构一共有三种&#xff1a;顺序结构、分支结构和循环结构。顺序结构就是按代码的顺序来执行相应的指令。这里主要讲述Java的分支结构和循环结构&#xff0c;由于和C语言是有相似性的&#xff0c;所以这里只会提及不同点和注意要点~~ 注意在C语言中&#xff0c;…

MobileNetV4 论文学习

论文地址&#xff1a;https://arxiv.org/abs/2404.10518 代码地址&#xff1a;https://github.com/tensorflow/models/blob/master/official/vision/modeling/backbones/mobilenet.py 解决了什么问题&#xff1f; 边端设备的高效神经网络不仅能带来实时交互的体验&#xff0c…

Linux服务器安全基础 - 查看入侵痕迹

1. 常见系统日志 /var/log/cron 记录了系统定时任务相关的日志 /var/log/dmesg 记录了系统在开机时内核自检的信息&#xff0c;也可以使用dmesg命令直接查看内核自检信息 /var/log/secure:记录登录系统存取数据的文件;例如:pop3,ssh,telnet,ftp等都会记录在此. /var/log/btmp:记…

XYCTF 2024

Web 参考博客&#xff1a;https://www.yuque.com/yunzhiyunweiji/wrgkex/rfpnkn0293l7cp09#ezMake ezhttp Via - HTTP | MDN 代理那里难住了 XFF不给用可以用client-ip ezmd5 让我们上传图片并比较&#xff0c;结合题目名可以猜测应该是比较两个图片的md5值是否相同&…

实锤!腾讯终于拥抱鸿蒙生态,微信鸿蒙原生版本即将上线

大家都知道&#xff0c;目前已知纯血鸿蒙星河版next将于今年6月份开启Bate版本的测试&#xff0c;也就是说原生鸿蒙系统快上线了。而目前对于鸿蒙生态的发展&#xff0c;大家最关心的恐怕只有腾讯系的微信和QQ是否适配了纯血鸿蒙系统。甚至有网友表示&#xff0c;微信不适配鸿蒙…

上海计算机学会2020年9月月赛C++丙组T2中心对称数

题目背景 在超市里&#xff0c;有一些价格标签倒置后&#xff0c;数字竟不会发生改变。转置 180 度后不变的十进制数字被称为中心对称数&#xff08;Strobogrammatic Numbers&#xff09;。下图分别给出 0 到 9 这十个数字倒置后的样子&#xff1a; 题目描述 中心对称数是指沿…

npm 安装 pnpm 时 报错 npm ERR! Unexpected token ‘.‘

问题 一个项目用的是 pnpm 安装的依赖&#xff0c;node 的版本是 16.16.0&#xff0c;nvm 的版本是 1.1.7&#xff0c;然后全局安装 pnpm 报错如下&#xff1a; 解决 我看网上的一些解决方案是说 nvm 版本过低导致&#xff0c;下面我们按照这个方向处理。 实首先下载 nvm-up…

第三节课,功能2:开发后端用户的管理接口--http client -- debug测试

一、idea 中 Http client 使用 二、测试步骤&#xff0c;先进入主程序 2.1 先run &#xff0c;再debug 2.2 再进入想要测试的代码 2.2.1 进入测试的接口 三、程序逻辑 1&#xff09;用户注册逻辑&#xff1a;如果用户不存在再后端&#xff0c;看用户名&密码&校验码是…

制造企业如何打造客户服务核心竞争力?[AMT企源典型案例]

引言 产品同质化严重&#xff0c;竞争的焦点从产品转向服务&#xff0c;企业的管理模式也要相应转变。那么如何打造围绕服务的核心竞争力&#xff1f;相信以下案例会给大家一些启发。 项目背景&#xff1a; 售后服务在市场竞争中的作用凸显 A公司是一家医疗器械生产制造企业…

揭秘商业新宠——消费全返模式:深度剖析与实战策略

大家好&#xff0c;我是微三云周丽&#xff01; 在当今竞争激烈的商业环境中&#xff0c;创新已成为企业生存和发展的关键。在众多新型商业模式中&#xff0c;消费全返模式凭借其独特的魅力&#xff0c;吸引了众多商家的目光。本文将从消费全返模式的定义、特点、应用场景、成…

蚂蚁集团智能凭证安全产品通过信通院能力测评,获最高评级

4月28日&#xff0c;中国信通院“人工智能”高质量发展研讨会在北京召开。会上&#xff0c;中国信通院发布“可信AI”系列评测结果。蚂蚁集团智能凭证防伪检测安全产品“蚂蚁光鉴”全项通过“可信AI-OCR服务智能化”的评估&#xff0c;获得最高评级&#xff08;增强级&#xff…

数字电路-5路呼叫显示和8路抢答器

本内容涉及两个电路&#xff0c;分别为5路呼叫显示电路和8路抢答器电路&#xff0c;包含Multisim仿真原文件&#xff0c;为掌握FPGA做个铺垫。紫色文字是超链接&#xff0c;点击自动跳转至相关博文。持续更新&#xff0c;原创不易&#xff01; 目录&#xff1a; 一、5路呼叫显…

Redis的事务机制能保证ACID属性吗?

目录 事务 ACID 属性 用户如何开启Redis的事务&#xff1f; 使用redis-cli客户端来展示 ​Go语言编码使用事务 Redis 的事务机制能保证哪些属性&#xff1f; 1. 原子性 语法错误 运行错误 执行EXEC时&#xff0c;Redis发生故障 Redis对事务原子性属性的保证情况 2. 一…

图论单源最短路径——spfa

【模板】单源最短路径&#xff08;弱化版&#xff09; 本题用的spfa 题目背景 本题测试数据为随机数据&#xff0c;在考试中可能会出现构造数据让SPFA不通过&#xff0c;如有需要请移步 P4779。 题目描述 如题&#xff0c;给出一个有向图&#xff0c;请输出从某一点出发到…

想要接触网络安全,应该怎么入门学习?

作为一个网络安全新手&#xff0c;首先你要明确以下几点&#xff1a; 我刚入门网络安全&#xff0c;该怎么学&#xff1f;要学哪些东西&#xff1f;有哪些方向&#xff1f;怎么选&#xff1f;这一行职业前景如何&#xff1f; 其次&#xff0c;如果你现在不清楚学什么的话&…

【GESP试卷】2024年03月Scratch二级试卷

2024年GESP03月认证Scratch二级试卷 分数&#xff1a;100 题数&#xff1a;17 一、单选题(共10题&#xff0c;每题3分&#xff0c;共30分) 1、小杨的父母最近刚刚给他买了一块华为手表&#xff0c;他说手表上跑的是鸿蒙&#xff0c;这个鸿蒙是&#xff1f;&#xff08; &…