leetcode(力扣)剑指 Offer 16. 数值的整数次方 (快速幂)

news2024/11/18 17:50:08

文章目录

  • 题目描述
  • 思路分析
  • 完整代码

题目描述

实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。

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

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

思路分析

暴力会超时,标的中等难度,所以肯定不是直接for的。

快速幂方法:

再看一遍题目,求x的n次幂。

直接记结论。

1.将n变为二进制,然后取反,结果记为temp
2.遍历temp的每一位数字,为1的地方进入循环。
3.循环中式子如下:

在这里插入图片描述
既 每一项是x (2i),这里的‘i’就是temp为‘1’的下标。

4.将每一项的结果 相乘起来就行了。

5.对于输入的n为负数的情况,吧x变为倒数,然后n变为正数就可以继续算了。

完整代码

class Solution:
    def myPow(self, x: float, n: int) -> float:
        temp = bin(abs(n))[2:][::-1]
        print(temp)
        if n<0 :
            x = 1/x
            n = abs(n)
        res = 1
        for i in range(len(temp)):
            if temp[i] == '1':
                res *= x **(2**i)
        return res```

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

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

相关文章

Scratch 教程 -- 如何绘制像素画

1.像素画的定义 像素画就是以1像素的正方形为最小单位画的画&#xff0c;且物体有明显的分界线 这是像素画 这不是像素画 来看这两个法棍 这是像素画 这不是像素画 为什么第二个不是像素画&#xff1f;因为不能区分边缘和物体&#xff0c;它们之间有很多过渡色。 中间的过渡色属…

JUC并发编程之volatile详解

目录 1. volatile 1.1 volatile关键字的作用 1.1.1 变量可见性 1.1.2 禁止指令重排序 1.2 volatile可见性案例 1.3 volatile非原子性案例 1.4 volatile 禁止重排序 1.5 volatile 日常使用场景 送书活动 1. volatile 在并发编程中&#xff0c;多线程操作共享的变量时&a…

SAP MIRO 报错 Allowed posting periods:xx xxx

背景&#xff1a;在八月初&#xff0c;七月份财务账期没关&#xff0c;七月份物料帐期已关 用户在做MIRO的时候&#xff0c;无法开票成功&#xff0c;报错&#xff1a; Allowed posting periods:xx xxx 但是集团要求&#xff0c;这些帐应该记在七月份 查询相关资料得知。MI…

PLUS模型 | 历史土地利用数据,进行多情景模式下的未来土地利用预测

工业革命以来&#xff0c;社会生产力迅速提高&#xff0c;人类活动频繁&#xff0c;此外人口与日俱增对土地的需求与改造更加强烈&#xff0c;人-地关系日益紧张。此外&#xff0c;土地资源的不合理开发利用更是造成了水土流失、植被退化、水资源短缺、区域气候变化、生物多样性…

【嵌入式学习笔记】嵌入式入门3——串口

1.数据通信的基础概念 1.1.串行/并行通信 数据通信按数据通信方式分类&#xff1a;串行通信、并行通信 1.2.单工/半双工/全双工通信 数据通信按数据传输方向分类&#xff1a;单工通信、半双工通信、全双工通信 单工通信&#xff1a;数据只能沿一个方向传输半双工通信&…

支持中文创成式填充 AI版PS 2023 v25.0安装教程

抖音保姆级视频教程: https://v.douyin.com/iJdUjg2o/ PS 2023 v25.0安装包地址&#xff1a; 链接: https://pan.baidu.com/s/1PXgVHDHdMIRcDzV4IfGAQw?pwd2023 提取码: 2023 如有疑问请加交流请加QQ群&#xff1a;814894746 安装教程总结&#xff1a; 卸载之前的PS beta版…

C++11 通用工具

通用工具 目录 pair和tuple智能指针数值极值type trait 和type utility辅助函数clock和timerbitset随机数 1 pair和Tuple 1.1 pair 头文件 #include<utility>pair定义 pair<string,string> author{James","joyce"};)] --> pair操作 1.2 tup…

阿里云 MSE + ZadigX ,无门槛实现云原生全链路灰度发布

作者&#xff1a;ZadigX 企业发布现状痛点 目前企业在选择和实施发布策略时面临以下困境&#xff1a; 1. 缺乏云原生能力&#xff1a; 由于从传统部署转变为云原生模式后&#xff0c;技术架构改造需要具备相关能力的人才。这使得企业在发布策略方面难以入手。 2. 缺乏自动化…

一张图看懂应用程序访问驱动的内部原理

咱就浅谈一下字符设备驱动的内部实现~ 1、当我们在应用程序中使用open打开文件的时候&#xff0c;会自动在/dev/mycdev下生成一个inode号。 2、只要文件存在于系统中&#xff0c;在系统内核就会存在一个inode结构体&#xff0c;里面存储文件的一些相关信息&#xff0c;其中信息…

如何使用STAR原则优化项目管理?

介绍STAR原则 1.1 STAR原则的定义 STAR原则是一个行为面试技术&#xff0c;即Situation&#xff08;情境&#xff09;、Task&#xff08;任务&#xff09;、Action&#xff08;行动&#xff09;和Result&#xff08;结果&#xff09;。这种原则被广泛应用在职业面试中&#x…

【严重】Metabase 基于H2引擎的远程代码执行漏洞

漏洞描述 Metabase 是一个开源的数据分析和可视化工具。 由于 CVE-2023-38646 的补丁(从H2 JDBC连接字符串中删除INIT脚本以防止命令注入)修复不完全&#xff0c;Metabase 仍受到命令注入的影响。攻击者可使用 H2 作为数据库引擎&#xff0c;通过 /api/setup/validate 端点发…

idea设置项目使用本地仓库

方法一&#xff1a;最简单有效的方法 在pom加入以下内容 <repositories><repository><id>local-repo</id><url>file://本地仓库目录</url></repository></repositories>方法二&#xff1a;idea设置maven为workoffline&#x…

局域网内电脑ping不通(防火墙惹的祸)

明明是同一网段&#xff08;同一局域网&#xff09;的电脑&#xff0c;却ping不通&#xff0c;这种情况大概率就是防火墙惹得祸了。除了把防火墙关掉&#xff0c;我们还可以采取如下解决方案。 解决方案&#xff1a; 1. 打开&#xff1a;控制面板\系统和安全\Windows Defende…

真香!云原生安全,大客户终于愿意买单了

5年前&#xff0c;我的哥们老丁 从倒腾防火墙转行卖新产品 据说那是一片蓝海&#xff0c;美其名曰 「云原生安全」 可是&#xff0c;“吆喝”了一段时间 老丁发现&#xff0c;这个蓝海没想象那么蓝 很多老客户都不买账 相反还是那些传统安全产品销量更好 为啥客户不感冒呢…

程序员生涯写过最大的Bug!这威力多少有点大了...

程序员一生与bug奋战&#xff0c;可谓是杀敌无数&#xff0c;见怪不怪了&#xff01;如果要问码农们&#xff0c;在自己职业生涯中写过最大的Bug是什么&#xff0c;想必每一位都需要一个话筒来说上几分钟...... 一个BUG&#xff0c;连升两级 一个bug能给程序员带来什么?优秀员…

Vue2(初识vue)

目录 一&#xff0c;Vue2简介1.1&#xff0c;什么是vue1.2&#xff0c;初始vue1.3&#xff0c;搭建vue环境1.4&#xff0c;第一个hello world 二&#xff0c;基础知识2.1 指令2.2-1 指令v-text2.2-2 指令v-html2.2-3 指令v-if2.2-4 指令v-else2.2-5 指令v-show2.2-6 v-if指令与…

IDEA导入第三方jar包, 并在Maven中打包该jar包

IDEA导入jar包, 并在Maven中打包该jar包 背景步骤IDEA导入jar包Maven中打包第三方jar包 背景 项目因为某些原因, 需要引入demo中代码, 但是demo使用的是 java而且没有使用任何框架, 并且还引用第三方 jar, 因此在自己项目(SpringBootMaven)中集成demo时. 整个集成过程中颇为麻…

2023拒绝内卷!两年转行网络安全真实看法!

我目前转行网络安全两年&#xff0c;没啥天分&#xff0c;全靠努力&#xff0c;基本能够得上中级的水平了。看到大家对转行网络安全挺感兴趣&#xff0c;也有挺多争议&#xff0c;想把我的建议和经验告诉大家。 有很多人觉得网络安全已经饱和了&#xff0c;现在选择这个工作&a…

docker-compose 搭建 Sharding-Proxy 5.4.0 分库分表代理服务

感谢: 程序员一枚 提供搭建方式 项目地址: https://gitee.com/dromara/RuoYi-Cloud-Plus/tree/2.X/ 1.在 mysql 创建两个库 创建两个库 data-center_0 data-center_1 分别执行如何sql CREATE TABLE t_order_0 (order_id bigint(20) UNSIGNED NOT NULL COMMENT 主键ID,user_…

【数据结构】27.移除元素

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …