首页 > 学院 > 开发设计 > 正文

【LeetCode】50. Pow(x, n)

2019-11-06 06:09:09
字体:
来源:转载
供稿:网友

题目描述

Implement pow(x, n).

解题思路

快速幂。 注意一下当n为负数的情况。 还有当nINT_MIN时的边界情况,因为此时-n会溢出。

AC代码

class Solution {public: double myPow(double x, int n) { bool isMin = false; if (n < 0) { x = 1 / x; if (n == INT_MIN) { n = INT_MAX; isMin = true; } else n = -n; } double ans = 1; while (n != 0) { if (n & 1) { ans *= x; } x *= x; n >>= 1; } if (isMin) return abs(ans); return ans; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表