题目
class Solution {
public:
double traversal(double x, int n){
if(n==0) return 1.00000;
double y = traversal(x, n/2); //本题需要对递归时的指数进行二分法,否则超时。
return n%2==0 ? y*y : y*y*x; //y=(x^4)。n=8,则x^8=y*y;n=9,则x^9=y*y*x。
}
double myPow(double x, int n) {
if(n<0) x = 1/x; //先进行指数正负的判断
return traversal(x, n);
}
};
以上方法来自力扣官方题解
分类:
算法编程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具