首页 > 代码库 > LeetCode "Pow(x,n)"
LeetCode "Pow(x,n)"
Next time you see a numeric problem has a too straightforward solution, think about optimized one.
Like this one: recursion\iteration is tooo slow. So Dichotomy, like sqrt(). Take care of minux n case.
class Solution {public: double pow(double x, int n) { if(n == 0) return 1; bool bNeg = false; if(n < 0) { bNeg = true; n *= -1; } double r = pow(x, n/2); if(n % 2 == 0) r *= r; else r *=r * x; if(!bNeg) return r; else return 1.0/r; }};
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。