LeetCode如何解决数值的整数次方问题
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了LeetCode如何解决数值的整数次方问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。题目实现函数double P
千家信息网最后更新 2025年02月02日LeetCode如何解决数值的整数次方问题
这篇文章主要介绍了LeetCode如何解决数值的整数次方问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
题目
实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。
示例 1:
输入: 2.00000, 10输出: 1024.00000
示例 2:
输入: 2.10000, 3输出: 9.26100
示例 3:
输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25
思路
n&1 (与操作): 判断 n 二进制最右一位是否为 1 ;
n>>1 (移位操作): n 右移一位(可理解为删除最后一位)
流程:
当 x=0 时:直接返回 0 (避免后续 x = 1 / x 操作报错)。
初始化 res = 1 ;
当 n < 0 时:把问题转化至 n≥0 的范围内,即执行 x = 1/x ,n = - n ;
循环计算:当 n = 0 时跳出;
当 n & 1 = 1 时:将当前 x乘入 res (即 res *= x);
执行 x = x^2(即 x *= x);
执行 n右移一位(即 n>>=1)。
返回 res
代码
class Solution { public double myPow(double x, int n) { if(x == 0){ return 0; } long b = n; double res = 1.0; //处理负数 if(b < 0){ x = 1/x; b = -b; } while(b > 0){ if((b & 1) == 1){ res *= x; } x *= x; b >>= 1; } return res; }}
感谢你能够认真阅读完这篇文章,希望小编分享的"LeetCode如何解决数值的整数次方问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
问题
篇文章
示例
输入
输出
数值
整数
函数
同时
二进制
代码
价值
兴趣
大数
思路
更多
朋友
流程
知识
编带
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
菲律宾 软件开发工资水平
虚拟机能学网络技术吗
软件开发部门 年度规划
网络安全审查办法五大要点
消防和网络安全手抄报内容
数据库时代
学校网络安全知识ppt模板
学校触控答题软件开发公司
杭州运行智慧工地软件开发
710 服务器 家用
csgo社区服务器怎么起飞
广州靠谱的网络安全运维
2020年黑魂3连接不了服务器
苏州网络安全公司
网络安全有关知识
徐州项目软件开发代理商
gmail连接服务器超时
数据库管理系统快递站
2018国家网络安全活动
网络安全活动展板简报
中央网络安全领导信息化小组
泰拉瑞亚公共服务器ip1.4
消防和网络安全手抄报内容
静态资源放在服务器
英德思网络技术 刘明学
剑灵区服务器
数据库中year()是什么意思
网络安全 协会
gpu服务器功率一般多少
怎样提前关闭云服务器