leetcode(力扣)剑指 Offer 16. 数值的整数次方 (快速幂)
文章目录
- 题目描述
- 思路分析
- 完整代码
题目描述
实现 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/xn = abs(n)res = 1for i in range(len(temp)):if temp[i] == '1':res *= x **(2**i)return res```相关文章:
leetcode(力扣)剑指 Offer 16. 数值的整数次方 (快速幂)
文章目录 题目描述思路分析完整代码 题目描述 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入:x 2.00000, n 10 输出:10…...
git命令分类合集
配置 git config --global user.name <name>:设置全局用户名 git config --global user.email <email>:设置全局用户邮箱 git config --global core.editor <editor>:设置全局文本编辑器创建与克隆仓库 git init…...
微信小程序打开地图的方法
1、打开内置地图 wx.openLocation({latitude: 31.230416, // 上海的纬度longitude: 121.473701, // 上海的经度name: 上海市, // 地点名称address: 中国上海市黄浦区人民广场, // 地址的详细说明scale: 18, // 缩放比例success: function(res) {console.log(打开地图成功);},f…...
快手头部主播合体,二驴祁天道直播首秀销售额破亿
2023年刚刚过半,直播江湖突然生变。 快手头部娱乐主播「二驴」与快手户外主播第一人「祁天道」宣布“合体”,两者加总的粉丝量接近1亿,又一个“超级网红IP”诞生。 ▲图源:二驴的、祁天道快手截图 从白手起家的草根,…...
Golang Devops项目开发(1)
1.1 GO语言基础 1 初识Go语言 1.1.1 开发环境搭建 参考文档:《Windows Go语言环境搭建》 1.2.1 Go语言特性-垃圾回收 a. 内存自动回收,再也不需要开发人员管理内存 b. 开发人员专注业务实现,降低了心智负担 c. 只需要new分配内存,…...
Django系列之DRF简单使用
基于ModelViewSets的简单使用 models.py from django.db import modelsclass AuthorDetail(models.Model):gender models.CharField(max_length8)birthday models.DateField()telephone models.BigIntegerField()addr models.CharField(max_length64)class Author(models…...
新闻标题文本分类任务
目录 知识回顾使用debug调试 知识回顾 预处理内容 文本主要进行清洗、分词/分字 ID替换(不希望计算机看到文字,而是ID),通过语料表来表示,根据频率高低来分配ID号 文本的ID映射到文本的一个特征向量,进行词嵌入(Embedding)&…...
自己实现MyBatis 底层机制--抽丝剥茧(上)
😀前言 本篇博文是学习过程中的笔记和对于MyBatis底层机制的分析思路,希望能够给您带来帮助😊 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到…...
Django后端执行成功或失败状态码
后端执行成功或失败以状态码的形式告诉前端,处理成功返回200系列状态码,执行前端then里面的代码;处理失败返回400/500系列状态码,执行catch里面的代码。 200 OK :服务器成功返回用户请求的数据 201 CREATED ÿ…...
Prometheus中的关键设计
1、标准先行,注重生态 Prometheus 最重要的规范就是指标命名方式,数据格式简单易读。比如,对于应用层面的监控,可以要求必须具备这几个信息。 指标名称 metric Prometheus 内置建立的规范就是叫 metric(即 __name__…...
Centos7 安装yum
1、检查主机名和网络并且配置/etc/hosts文件 查看主机名:hostname 查看ip :ifconfig vi /etc/hosts//添加把主机名和IP配置进去hosts文件192.18.56.111 orcale12c2、关闭防火墙 systemctl status firewalld.service//检查防火墙状态 暂时关闭防火墙,下…...
无涯教程-Lua - 简介
Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用ANSI C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网络通信…...
【第一阶段】kotlin语言引用数据类型
Java语言中有两种数据类型 第一种:基本数据类型 如int double等 第二种:引用数据类型。如String kotlin只有一种数据类型,看起来都是引用数据类型,实际上编译器会在Java字节码中,修改成基本类型 //Java语言中有两种数…...
BUU [网鼎杯 2020 朱雀组]phpweb
BUU [网鼎杯 2020 朱雀组]phpweb 众生皆懒狗。打开题目,只有一个报错,不知何从下手。 翻译一下报错,data()函数:,还是没有头绪,中国有句古话说的好“遇事不决抓个包” 抓个包果然有东西,仔细一看这不就分别是函数和参…...
使用WebMvcConfigurationSupport后导致原来返回的json数据变为了xml的解决方法
问题 未使用WebMvcConfigurationSupport拦截时返回的数据都是JSON格式,使用WebMvcConfigurationSupport做拦截后数据的返回变为了XML的格式。 原因 在Spring框架中,WebMvcConfigurationSupport 是一个类,它可以用于自定义Spring MVC的配置…...
如何判断一个枚举值是否存在(Check if an Enum Value Exists in Java)
目录 Searching an Enum by NameSearching an Enum by ValueSearching an Enum by Integer ValueExceptions Thrown from Search Methods Searching an Enum by Name public enum Direction {EAST, WEST, SOUTH, NORTH;public static Direction findByName(String name) {Dire…...
网工内推 | 网络安全工程师,最高15K,有高温补贴
01 超圣信华 招聘岗位:网络安全工程师 职责描述: 1. 负责网络安全产品的售前沟通交流、现状调研、方案设计、产品测试、产品选型和招投标等工作。 2. 负责网络安全集成项目的实施管理、项目交付文档编制以及项目验收等工作。 3. 负责网络安全产品的售后…...
Android—ADB命令
文章目录 ADB常用命令 ADB常用命令 ADB常用命令如下: 方法描述adb help查看ADB命令帮助adb devices查看Android设备及端口号adb connect连接Android设备adb start-server开启服务adb kill-server关闭服务adb install ***.apk安装Android应用adb install -r ***.ap…...
音视频知识:MPEG-4、H264、MP4、AAC之间的关系
MPEG-4 一种编码标准。是国际标准化组织 (ISO) 主要针对消费类应用,已经针对运动图像压缩定义的标准。MPEG(Moving Picture Experts Group)标准包括 MPEG1、MPEG2与 MPEG4。 MPEG-4标准目前分为27个部分,统称为ISO/IEC14496国际标…...
智能门锁的无线通讯协议有哪些?主要特点是什么?
智能门锁的无线通讯协议主要有以下几种: Wi-Fi:Wi-Fi是一种基于无线局域网的无线通信协议,可以快速传输数据,并支持互联网连接。 ZigBee:ZigBee是一种低功耗、低成本的无线通信协议,适用于大量传感器和设…...
树莓派4B避坑指南:手把手教你安装兼容的Miniconda 4.9.2(aarch64版)
树莓派4B避坑指南:手把手教你安装兼容的Miniconda 4.9.2(aarch64版) 树莓派4B作为一款高性能的单板计算机,凭借其强大的aarch64架构和丰富的扩展能力,成为众多开发者和爱好者的首选。然而,在安装Miniconda这…...
xi-mac性能优化指南:7个技巧让你的编辑器运行如飞
xi-mac性能优化指南:7个技巧让你的编辑器运行如飞 【免费下载链接】xi-mac The xi-editor mac frontend. 项目地址: https://gitcode.com/gh_mirrors/xim/xi-mac xi-mac是一款基于Rust后端和Cocoa前端的现代文本编辑器,以其卓越的性能表现而闻名。…...
StructBERT中文情感识别效果展示:电影评论情感极性与票房相关性验证
StructBERT中文情感识别效果展示:电影评论情感极性与票房相关性验证 1. 项目概述与背景 StructBERT 情感分类 - 中文 - 通用 base 是百度基于 StructBERT 预训练模型微调后的中文通用情感分类模型,专门用于识别中文文本的情感倾向。这个模型在中文 NLP…...
DAMOYOLO-S惊艳效果案例集:多领域高难度场景检测展示
DAMOYOLO-S惊艳效果案例集:多领域高难度场景检测展示 今天咱们不聊枯燥的理论和复杂的部署,直接来看点“硬货”。如果你正在寻找一个能在各种刁钻场景下都表现稳定的目标检测模型,那么DAMOYOLO-S绝对值得你花几分钟了解一下。它不是什么新概…...
避坑指南:OpenBMI运动想象实验中的‘跨被试’与‘不跨被试’到底怎么选?
避坑指南:OpenBMI运动想象实验中的‘跨被试’与‘不跨被试’到底怎么选? 当你第一次接触OpenBMI工具箱进行运动想象(Motor Imagery, MI)实验时,最令人困惑的决策之一就是如何选择数据划分策略。是采用**跨被试…...
索尼A6000/A7相机APP免费安装保姆级教程(含最新pmca工具下载)
索尼A6000/A7相机APP免费安装全流程指南(2024最新版) 作为一名长期使用索尼微单的摄影师,我深刻理解官方应用商店里那些本应内置的功能被拆分成付费APP的无奈。延时摄影、多重曝光这些基础功能,在二代机型上居然要额外付费解锁&am…...
Unpaywall扩展:一键解锁学术论文的终极免费方案
Unpaywall扩展:一键解锁学术论文的终极免费方案 【免费下载链接】unpaywall-extension Firefox/Chrome extension that gives you a link to a free PDF when you view scholarly articles 项目地址: https://gitcode.com/gh_mirrors/un/unpaywall-extension …...
Qwen3.5-4B-Claude-Opus保姆级教程:Web端UI功能分区与高级参数联动说明
Qwen3.5-4B-Claude-Opus保姆级教程:Web端UI功能分区与高级参数联动说明 1. 模型与平台介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF 是一个基于 Qwen3.5-4B 的推理蒸馏模型,重点强化了结构化分析、分步骤回答、代码与逻辑类问题的处理能…...
Kook Zimage 真实幻想 Turbo在软件测试中的应用:自动化UI设计验证
Kook Zimage 真实幻想 Turbo在软件测试中的应用:自动化UI设计验证 1. 引言:UI设计验证的痛点与机遇 在软件开发流程中,UI设计验证一直是个让人头疼的环节。测试人员需要对照设计稿,逐个像素检查界面元素的位置、颜色、字体和布局…...
如何快速配置TranslucentTB:Windows任务栏美化终极教程
如何快速配置TranslucentTB:Windows任务栏美化终极教程 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让Windows任务栏变…...
