剑指 Offer 16. 数值的整数次方
题目:
实现 pow(x, n) ,即计算 x 的 n 次幂函数。不得使用库函数,同时不需要考虑大数问题。
示例 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
代码:
1 class Solution { 2 public double myPow(double x, int n) { 3 if(n==0||x==1.0){return 1.0;} 4 if(n==Integer.MIN_VALUE){ //最小值单独处理 最小值的绝对值超出了int范围 5 n=Math.abs(n+1); 6 return 1/(pow(x,n)*x); 7 } 8 boolean bool=n>0?true:false; 9 n=Math.abs(n); 10 double res=pow(x,n); 11 return bool?res:1/res; 12 } 13 14 public static double pow(double y,int m){ 15 if(m==1){return y;} 16 if(m%2==0){ 17 double res= pow(y,m/2); 18 return res*res; 19 } 20 return pow(y,m-1)*y; 21 } 22 }
分类:
leetcode
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术