当前位置: 首页 > news >正文

LeetCode 数值的整数次方

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

示例 1:

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

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

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25

提示:

-100.0 < x < 100.0
-231 <= n <= 231-1
-104 <= xn <= 104

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/shu-zhi-de-zheng-shu-ci-fang-lcof

方法一:快速取幂法

对应的代码:

class Solution {public double myPow(double x, int n) {if(n == 0){//如果n为0,那么需要判断x是否为0,如果为0,返回0,否则返回1if(x == 0)return 0;else return 1;}else{//如果n不为0,那么就计算/*这一步十分重要,如果没有这一步,那么n的值是-2147483648(即int的最小值),由于是小于0,那么需要将n化成正数,但是一旦化成正数,就会导致n的值变成无穷小,最后在下面循环的时候就会陷入死循环,从而超时。所以为了避免这种情况,需要将n的值赋值给一个long类型的变量,这样即使n的值是int的最小值,也不会发生越界*/long b = n; if(n < 0){b = -b;// n = -n;// System.out.println(n);x = 1/x;}int res;double result = 1;while(b != 0){//由于b已经是正数,那么无论是右移还是左移,都是补0,所以while循环条件就是判断b是否为0res = (int)b & 1;result = result * Math.pow(x,res);x = x * x;//更新xb = b >> 1; }return result;}}
}

运行结果:
在这里插入图片描述
方法二:
将n对半分割:具体过程请看下面的图示:
在这里插入图片描述

对应的代码:

class Solution {/*public double myPow(double x, int n) {if(n == 0){//如果n为0,那么需要判断x是否为0,如果为0,返回0,否则返回1if(x == 0)return 0;else return 1;}else{//如果n不为0,那么就计算这一步十分重要,如果没有这一步,那么n的值是-2147483648(即int的最小值),由于是是小于0,那么需要将n化成正数,但是一旦化成正数,就会导致n的值变成无穷小,最后在下面循环的时候就会陷入死循环,从而超时。所以为了避免这种情况,需要将n的值赋值给一个long类型的变量,这样即使n的值是int的最小值,也不会发生越界long b = n; if(n < 0){b = -b;// n = -n;// System.out.println(n);x = 1/x;}int res;double result = 1;int count = 1;while(b != 0){//由于b已经是正数,那么无论是右移还是左移,都是补0,所以while循环条件就是判断b是否为0res = (int)b & 1;result = result * Math.pow(x,res);x = x * x;b = b >> 1; //由于b已经是正数,那么无论是右移还是左移,都是补0,所以while循环条件就是判断b是否为0}return result;}}*/public double myPow(double x, int n) {if(n == 0){//如果n为0,那么需要判断x是否为0,如果为0,返回0,否则返回1if(x == 0)return 0;else return 1;}else{/*如果n不为0,那么即利用二分求幂进行求解即将n = n / 2 + n / 2,从而x^n = x ^(n / 2 * 2) = (x ^ 2) ^ (n / 2)但是需要考虑的是当前的n是否能够化成两个相等的数相加(即需要判断奇偶性)如果n是一个偶数,那么最后的结果就是(x ^ 2) ^ (n / 2),此时需要递归,返回的结果是1 * myPow(x ^ 2,n / 2)否则,如果n是一个奇数,那么就需要取出一个x,然后对n - 1个x进行平方,即返回的结果是1 * x * myPow(x ^ 2,n / 2)注意不是(n - 1) / 2*/long b = n;if(b < 0){b = -b;x = 1 / x;}if(b % 2 == 0){return myPow(x * x,(int)(b / 2));}else{return x * myPow(x * x,(int)( b / 2)); //注意,这里需要是(int)(b / 2),否则就会发生报错,其次不应该是(b - 1) / 2}}}
}

运行结果:
在这里插入图片描述

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

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

elementUI-Tree 树形控件的使用

elementUI-Tree 树形控件的使用 实现效果&#xff1a; 控件的官方使用说明 控件要求返回的数据结构 {"success": true,"code": 20000,"message": "成功","data": {"items": [{"id": "1394579386…...

2021java1年经验公司面试真题

1面我就省略了&#xff0c;主要就是看你的以前工作情况&#xff0c;以前工作内容能不能清晰表达&#xff0c;还有一些简单的java基础问题&#xff0c;大概20多分钟。二面就是40分钟基础&#xff0c;20分钟业务&#xff0c;10分钟个人情况。下面是二面问题 1.自我介绍 做一下自…...

Unity基础之C#核心篇笔记4:多态

Unity基础之C#核心篇笔记4&#xff1a;多态多态1.多态的概念2.解决的问题3.多态的实现4.总结抽象类和抽象方法1.抽象类2.抽象函数3.总结4.练习题接口1.接口的概念2. 接口的申明3.接口的使用4.接口可以继承接口5.显示实现接口6.总结7.练习题密封方法1.密封方法基本概念2.实例3.总…...

LeetCode每日一题 - 有多少小于当前数字的数字

题目&#xff1a; 给你一个数组 nums&#xff0c;对于其中每个元素 nums[i]&#xff0c;请你统计数组中比它小的所有数字的数目。 换而言之&#xff0c;对于每个 nums[i] 你必须计算出有效的 j 的数量&#xff0c;其中 j 满足 j ! i 且 nums[j] < nums[i] 。 以数组形式返回…...

用Python爬取彼岸图网图片

用Python爬取彼岸图网图片 *使用了 四个模块 import time import requests from lxml import etree import os 没有的话自行百度安装。 #encoding utf-8 import time import requests from lxml import etree import os# http://www.netbian.com/ 爬虫 if __name__ __mai…...

第k个数(快速选择)

算法思路 快速选择&#xff1a; 1.即任意选一个数&#xff0c;将数组划分为二。 2.最终根据该数所在的位置&#xff0c;即第&#xff1f;大&#xff0c;选择第k大的数字所在区间进行划分。 时间复杂度分析&#xff0c;第一次划分n,下一次划分期望n/2&#xff0c;n/4…累加和小…...

yolov5 detect.py报错

新手求助 yolov5训练了自己的数据集后&#xff0c;test没问题&#xff0c;但是运行detect.py就报错了&#xff0c;一直找不到问题所在&#xff0c; 求大佬指点指点...

DEX 争霸战火升级,BabySwap 会否成为下一代黑马?

在 AMM机制大力推动下&#xff0c;DEX的群雄争霸比预想中来得要快且凶猛。伴随着诸如高盛等主流资本逐步认可DeFi 的意义&#xff0c;在真正的去中心化金融爆发的前夜&#xff0c;可以说谁抢占了DEX 红海的先机&#xff0c;谁就赢得了未来。 从早期以太坊的Uniswap和DoDo&…...

flutter 常用的第三方组件

引用文章链接&#xff1a; https://www.jianshu.com/p/a523e5f131b2 1、格式化日期时间组件&#xff1a;https://pub.dev/packages/date_format 2、日期选择组件&#xff1a;https://pub.dev/packages/flutter_cupertino_date_picker 3、轮播图组件&#xff1a;https://pub.…...

Android面试回忆录:帮助程序员提高核心竞争力的30条建议,真香!

**新技术层出不穷&#xff0c;去年kotlin到如今Flutter&#xff0c;技术迭代&#xff0c;你是否会变得固步自封&#xff1f;**那么看本篇文章帮你解决问题&#xff0c;让你知道怎么样学习&#xff0c;学习那些技术点才能不被时代的迭代快速淘汰&#xff01; 首先&#xff0c;先…...

2021-05-30解决centos+宝塔面板,FTP传输421 Too many connections问题错误

解决centos宝塔面板&#xff0c;FTP传输421 Too many connections”问题错误 1、首先连入服务器 在/www/server/pure-ftpd/etc下&#xff0c;找到pure-ftpd.conf 2、vim pure-ftpd.conf 没有vim的&#xff0c;用其他编辑软件也可以 3、找到 #Maximum number of sim clients wit…...

RK3399 DDR频率修改

RK3399 DDR频率修改 一、DDR当前频率获取与可调节范围 1、获取当前DDR频率、可调值、容量 cat /sys/class/devfreq/dmc/cur_freq2、查看DDR频率可调节的值 cat /sys/class/devfreq/dmc/available_frequencies3、获取DDR容量 cat /proc/meminfo二、DDR测试定频 1、因为RK3…...

javascript正则表达式常用合集

javascript正则表达式常用的合集 参考网址 {n}: n 是一个正整数&#xff0c;匹配了前面一个字符刚好出现了 n 次 {n,}: n是一个正整数&#xff0c;匹配前一个字符至少出现了n次 {n,m}: n 和 m 都是整数。匹配前面的字符至少n次&#xff0c;最多m次。如果 n 或者 m 的值是0&…...

qApp加载qss技巧

使用Qt加载qss样式&#xff0c;一般操作是读取文件&#xff0c;通过setStyleSheet设置 但是qApp只需如下&#xff1a; qApp->setStyleSheet("file:///:/test.qss");//只适用于qApp...

发现一款好用到爆的数据库工具 - DataGrip(就是耗内存)

作者&#xff1a;Atzuge cnblogs.com/zuge/p/7397255.html 最近看到一款数据库客户端工具&#xff0c;DataGrip&#xff0c;是大名鼎鼎的JetBrains公司出品的&#xff0c;就是那个出品Intellij IDEA的公司。 - 就是耗内存 DataGrip是一款数据库管理客户端工具&#xff0c;方便…...

Java 类加载器(ClassLoader)的实际使用场景有哪些?

什么是classloader classloader顾名思义&#xff0c;即是类加载。虚拟机把描述类的数据从class字节码文件加载到内存&#xff0c;并对数据进行检验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这就是虚拟机的类加载机制。了解java的类加…...

Bad owner or permissions on C:\\Users\\USER/.ssh/config on Windows

Bad owner or permissions on C:\Users\USER/.ssh/config 问题描述 由于使用vscode远程连接服务器突然新增了C:\Users\USER/.ssh/config &#xff0c;再powershell/cmd下面使用openssh&#xff08;windows自带&#xff09;连接服务器会出现Bad owner or permissions on C:\\U…...

React方向的前端面试题

1、React的生命周期&#xff1f; React中只有类组件有生命周期可言。 其中包含三个状态&#xff1a; Mounting&#xff1a;此时已经插入了真实的DOM&#xff1b; Updating&#xff1a;正在被重新渲染&#xff1b; Unmounting&#xff1a;已经移出真实的DOM。 生命周期的方…...

理解“same-site“ 和 “same-origin“

Understanding "same-site" and "same-origin" 作者&#xff1a;Eiji Kitamura 译者&#xff1a;weixsun 原文&#xff1a;Understanding "same-site" and "same-origin" "same-site" and "same-origin" are …...

ERC20智能合约安全评估

ERC20智能合约评估 常见漏洞: https://github.com/slowmist/Knowledge-Base/blob/master/solidity-security-comprehensive-list-of-known-attack-vectors-and-common-anti-patterns-chinese.md ERC20标准接口 //代币名字 function name() constant returns (string name) /…...

使用pip安装Python包--NumPy

一、pip简介 python附带了一些基本的内置模块&#xff0c;例如用于额外数学运算符的math模块和用于执行正则表达式的re模块。这些都是预先包括&#xff0c;因为它们被认为是非常有用的&#xff0c;将被大量使用。但是&#xff0c;不包括更模糊或更大的模块&#xff0c;如numpy…...

8051/2单片机常用的本地通讯方式 UART,RS485,I2C,SPI

一 &#xff0c;单片机串口通讯 1. 串口UART&#xff0c; 波特率&#xff1a;9600 接设备的时候&#xff0c;一般只接GND RX TX&#xff0c;不会接Vcc&#xff0c;避免与目标设备上的供电冲突。 1.1 RS485标准&#xff08; 2V ~ 6V&#xff1a;1 / -6V ~ -2V&#xff1a;0&a…...

CGB2103-day05-Ajax/JSON结构说明/跨域问题/VUE入门

1.jQuery中的Ajax 1.1 $.ajax说明 /*** $.ajax相关说明* 1.{key:value}* 2.type: ajax请求的方式 get/post/put/delete* 3.简化$.get(..) $.post(...) $.getJSON(...)* 4.url: 远程服务器地址* JSONP: JS端解决跨域问题的一种机制. 现在几乎淘汰了* cache: true 默认值为true…...

超详细讲解!Redis面试复习大纲在手面试不慌

前言 最近有很多朋友向我求教经验&#xff0c;因为我自己工作相对于稳定&#xff0c;在这里给大家分享一个粉丝朋友的经历&#xff0c;他作为一个曾经的菜鸡面试者&#xff0c;在不断的失败中成长&#xff0c;最终斩获了多份offer&#xff0c;因此特别想在此分享一下他的面试成…...

测试技巧:弱网测试

弱网测试场景 当前APP网络环境比较复杂&#xff0c;网络制式有2G、3G、4G网络&#xff0c;还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异&#xff0c;都会对用户使用app造成一定影响。另外&#xff0c;当前app使用场景多变&#xff0c;如进地铁、上公交、进电梯等…...

赶紧收藏!javasocket聊天室和私聊

前言 这些算法&#xff0c;都是小编一点一点看的大佬们的方法&#xff0c;自己积累的. 如果有什么描述的不对的地方还望大佬赐教 多交流才能进步&#xff0c;加油&#xff0c;冲冲冲&#xff01;&#xff01;&#xff01; RPC概述 RPC(Remote Procedure Call)即远程过程调用&a…...

2021-06-01 中小型物流企业仓库管理中存在的问题

中小型物流企业信息化程度虽然在近几年有所提高&#xff0c;但物流信息化程度仍有待加强&#xff0c;同时存在以下问题&#xff1a;物流信息化程度较低&#xff0c;订单电子化水平明显不高&#xff0c;许多工作尚停留在手工作业阶段&#xff0c;导致员工工作效率不高&#xff0…...

C1任务二

任务点1.网络抓包 进入网址&#xff1a;http://temp.blog8090.com/ 输入手机和姓名 提交表单 打开控制台network 返回http://temp.blog8090.com/ 打开F12查看并修改元素 输入信息&#xff1a;手机&#xff0c;姓名&#xff0c;暗号 并提交表单 至此&#xff0c;任务点一完成…...

诚意分享:这里有份超全Java体系化进阶学习图谱

摘要 Apache Kafka是一个分布式消息发布订阅系统。它最初由LinkedIn公司基于独特的设计实现为一个分布式的提交日志系统( a distributed commit log)&#xff0c;之后成为Apache项目的一部分。 成千上万的企业都在使用Kafka&#xff0c;三分之一的世界500强公司也在其中&…...

Burp Suite功能介绍

一、概述 Burp Suite 是用于攻击web 应用程序的集成平台&#xff0c;包含了许多工具。BurpSuite为这些工具设计了许多接口&#xff0c;以加快攻击应用程序的过程。 &#x1f449; 下载及安装过程 二、工具栏功能简介 1. Dashboard(仪表盘) 主要分为三块&#xff1a;Tasks(任务…...

两大主流IT媒体全程解秘我的“心路历程”

本月初&#xff0c;两大主流IT媒体——CSDN和51CTO不约而同先后对我这二十多年来的从业历程和心得感悟进行了专访式报道&#xff0c;感谢CSDN和51CTO各位老师的信任与支持&#xff0c;使我有机会与更加广泛的读者朋友进行全面交流&#xff0c;分享我的一些自认为比较有用的职场…...

新作获京东网双重推荐,成IT媒体新焦点

新年首部著作《深入理解计算机网络》获京东网双重“重磅”推荐&#xff0c;成IT媒体新焦点&#xff01;http://jmall.360buy.com/p64928.htmlhttp://sale.360buy.com/act/TvsDrAncWj0B1.html目前该书已可以京东网、卓越网、当当网上全面预订&#xff0c;并全部附有完整的目录信…...

IT媒体、杂志投稿大全

IT媒体、杂志投稿大全 1.《电脑爱好者》 欢迎您投稿与更多读者分享您使用电脑时的技巧、心得&#xff0c;《电脑爱好者》将奉上每千字不低于100元的高额稿酬。   投稿注意事项&#xff1a;建议使用电子邮件方式投稿&#xff0c;电子邮件方式投稿请在主题中注明稿件名称&#…...

IT媒体如何写评论

IT媒体如何写评论 首先要说为什么需要写评论&#xff1f; 有一次MSN交流&#xff0c;我们说到&#xff1a;高级知识分子加上完美的性格追求&#xff0c;是很容易走极端的。这个极端的意识就会容易归结到“不为五斗米折腰”这样的境界。可能会长期“怀才不遇”&#xff0c;我有许…...

Surfer与Voxler数据处理及可视化

Surfer和Voxler分别是美国Golden Software 公司开发的用于二维和三维数据可视化软件&#xff0c;具有强大的数据处理和插值功能&#xff0c;软件主要应用于气象、环境和地质&#xff08;以及生物、医学等&#xff09;等领域。其中Surfer主要用于绘制二维等值线图、三维表面图以…...

日本著名IT媒体BCN周刊对中国RPA企业专访

《日本BCN周刊》 2019年3月25日&#xff0c;上海艺赛旗软件股份有限公司&#xff0c;联合创始人&高级副总裁胡立军先生作为中国RPA领域杰出企业家代表&#xff0c;接受了来自日本BCN周刊的专访。 周刊背景 BCN周刊是日本著名IT行业媒体&#xff0c;在中国&#xff08;上海…...

在寻求答案之前,先寻求一个好问题吧

把问题定义得更清晰&#xff0c;答案和行动才更有效。去年下半年&#xff0c;我和顺为资本投资合伙人周航牵头发起了一个「未来前沿」创始人工坊&#xff0c;后来前优酷联席总裁魏明也加入进来&#xff0c;我们三个作为常驻教练&#xff0c;每次邀请一些企业家朋友作为飞行教练…...

AI物流,可知可达

AI物流&#xff0c;可知可达主持人&#xff1a;另一家运用AI技术推动运输智能化的公司G7,他是业界领先的智慧物联网公司&#xff0c;目前G7平台上服务客户数量超过4万家&#xff0c;连接车辆总数超过60万辆&#xff0c;客户类型覆盖广泛。通过海量的实时感知数据&#xff0c;将…...

雷军站台飞书背后,张一鸣要在TOB则实现突破!

7月24日&#xff0c;知名网红雷军发微头条称&#xff0c;小米选用飞书作为解决方案&#xff0c;并且已经使用了一段时间。雷军在微头条中表示&#xff0c;“飞书在信息创建、分享 &#xff0c;以及协同办公方面&#xff0c;非常简洁、高效&#xff0c;的确越用越顺手。” 飞书…...

无人驾驶货运再添新玩家:G7控股,腾讯系,主攻L4

安妮 发自 水立方量子位 出品 | 公众号 QbitAI来了来了。诸侯林立的无人驾驶战场上&#xff0c;又有新玩家入场。纵览整个无人车技术行业&#xff0c;相当多一部分公司是计算机视觉技术起家。相比之下&#xff0c;这位新玩家的画风有些不同。本月&#xff0c;物联网科技公司G7与…...

失败往往源于坚持,而成功靠的是锐利

在我众多创业者朋友里&#xff0c;G7的翟学魂可能是我认识时间最长的一位&#xff0c;我大学一毕业&#xff0c;在《IT经理世界》工作的时候就认识他了&#xff0c;那会儿他就在物流行业里折腾着创业。一转眼20多年了&#xff0c;中间挺长时间其实都没听到他有什么太大的动静&a…...

数字货舱+经营性租赁,货运服务的一场新“集装箱式”革命

1956年4月26日&#xff0c;新泽西州纽华克港口&#xff0c;一架起重机把58个铝制卡车车厢装到了港口的一艘老邮轮上。5天之后&#xff0c;这艘邮轮驶入休斯顿&#xff0c;58辆卡车再次装上这些金属货柜&#xff0c;把它们运往目的地。这是美国学者马克莱文森的《集装箱改变世界…...

没想到,因为这场AI大会,我也可以凡尔赛一把

杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI没想到&#xff0c;小小编辑的我&#xff0c;竟这样不经意凡尔赛了。事情是这样&#xff0c;刚有朋友“求”我——量子位小编&#xff0c;要一张大会的现场票。说官方渠道即将售罄&#xff0c;黄牛和闲鱼又买不起……我一看怎么回…...

从《中国公路货运安全白皮书2021》,看公路货运安全的中国解法

文|智能相对论 作者|叶远风 一辆大货车在高速行驶途中突然冲过中央隔离防护栏&#xff0c;进入车流密集且高速的对向车道&#xff0c;以很高的相对速度撞向正常行驶的5辆小汽车&#xff0c;最终酿成5人死亡、11人受伤&#xff08;其中一人重伤&#xff09;的惨剧。 这是10月…...

对话:工业机器人的机遇与挑战

对话&#xff1a;工业机器人的机遇与挑战主持人&#xff1a;智慧物流的发展在很大程度上是我们国家整体经济转型升级的必然要求&#xff0c;是发展到一定阶段的必然产物。物流行业上游制造方需要和下游消费者进行更紧密的有效对接&#xff0c;最终为智慧物流的发展提供需求的支…...

2022中国物流产业大会暨企业家高峰论坛在杭州举办!

导语:当企业面临生存和发展问题时,如何寻找企业战略落地的破局点? 近三年以来,整个物流市场遭受着疫情的重创,“生存”成为企业的关键命题。对于身处其中的供应链企业和物流企业来说,后疫情时代的来临,既是挑战,也是机遇。因为并不是只有和平年代才孕育好的企业,形式坏的时候…...

【​观察】引领传统挂车走进智能化时代 G7智能挂车落地的价值与未来

申耀的科技观察读懂科技&#xff0c;赢取未来&#xff01;众所周知&#xff0c;改革开放40年来&#xff0c;中国的交通运输业实现了跨越式发展&#xff0c;建成了世界上最庞大的交通运输系统&#xff0c;同时也成为了世界第一大公路运输市场。但是&#xff0c;在“全球第一”的…...

藏在煤箱中的文明:一个会说话的箱子能告诉我们什么?

作家巴巴拉弗里兹在《coal&#xff1a;A human History》一书中曾写道&#xff0c;煤炭被视作人类进步的缩影&#xff0c;既是一种凶险的物质&#xff0c;也是塑造文明的礼物。它驰过铁轨&#xff0c;漂过海洋&#xff0c;给工业提供了动力。如何把煤从产地运到需要它的地方&am…...

软塌塌

他日他让她让她让她人人 飞个风格风格合格供方...

解读中国企业的ERP困境(转)

解读中国企业的&#xff25;&#xff32;&#xff30;困境 http://www.226e.net/article/13/Article6791_1.htm“不上&#xff25;&#xff32;&#xff30;等死&#xff0c;上&#xff25;&#xff32;&#xff30;找死”&#xff0c;这已经是困扰企业界多年的一个悖论。对于&…...