LeetCode 50.Pow(x, n)
来源:互联网 发布:帮开淘宝店铺 编辑:程序博客网 时间:2024/05/17 16:00
public static double myPow(double x, int n) { if(n == 0) return 1; if(n < 0 ){ n = - n; x = 1 / x; } if(n == -2147483648) return (n % 2 == 0) ? myPow(x * x, -(n/2)) : x * myPow(x * x, -(n/2)); else return (n % 2 == 0) ? myPow(x * x, n/2 ) : x * myPow(x * x, n/2); }
主要思想;极限情况一共有两种,1、n = 0,返回1即可,2、n = -2147483648,这种情况如果取反应为2147483648,但是这个数超出了整数的范围,因此取反的结果还是-2147483648,这时就需要重新判断一下。
api中的要求:
返回第一个参数的第二个参数次幂的值。特殊情况如下:
如果第二个参数为正 0 或负 0,那么结果为 1.0。
如果第二个参数为 1.0,那么结果与第一个参数相同。
如果第二个参数为 NaN,那么结果为 NaN。
如果第一个参数为 NaN,第二个参数非 0,那么结果为 NaN。
如果
第一个参数的绝对值大于 1,并且第二个参数为正无穷大,或者
第一个参数的绝对值小于 1,并且第二个参数为负无穷大,
那么结果为正无穷大。
如果
第一个参数的绝对值大于 1,并且第二个参数为负无穷大,或者
第一个参数的绝对值小于 1,并且第二个参数为正无穷大,
那么结果为正 0。
如果第一个参数的绝对值等于1,并且第二个参数为无穷大,那么结果为 NaN。
如果
第一个参数为正 0,并且第二个参数大于 0,或者
第一个参数为正无穷大,并且第二个参数小于 0,
那么结果为正 0。
如果
第一个参数为正 0,并且第二个参数小于 0,或者
第一个参数为正无穷大,并且第二个参数大于 0,
那么结果为正无穷大。
如果
如果第一个参数为负 0,并且第二个参数大于 0 但不是有限的奇数整数,或者
第一个参数为负无穷大,并且第二个参数小于 0 但不是有限的奇数整数,
那么结果为正 0。
如果
第一个参数为负 0,并且第二个参数为正的有限奇数整数,或者
第一个参数为负无穷大,并且第二个参数为负的有限奇数整数,
那么结果为负 0。
如果
如果第一个参数为负 0,并且第二个参数小于 0 但不是有限的奇数整数,或者
第一个参数为负无穷大,并且第二个参数大于 0 但不是有限的奇数整数,
那么结果为正无穷大。
如果
第一个参数为负 0,并且第二个参数为负的有限奇数整数,或者
第一个参数为负无穷大,并且第二个参数为正的有限奇数整数,
那么结果为负无穷大。
如果第一个参数为小于 0 的有限值,
如果第二个参数为有限的偶数整数,那么结果等于第一个参数绝对值的第二个参数次幂的结果。
如果第二个参数为有限的奇数整数,那么结果等于负的第一个参数绝对值的第二个参数次幂的结果。
如果第二个参数为有限的非整数值,那么结果为 NaN。
如果两个参数都为整数,并且结果恰好可以表示为一个 double 值,那么该结果恰好等于第一个参数的第二个参数次幂的算术结果。
- [LeetCode]50.Pow(x, n)
- LeetCode --- 50. Pow(x, n)
- [Leetcode] 50. Pow(x, n)
- [leetcode] 50.Pow(x, n)
- LeetCode 50. Pow(x, n)
- 50. Pow(x, n) LeetCode
- [leetcode] 50. Pow(x, n)
- Leetcode 50. Pow(x, n)
- [LeetCode]50. Pow(x, n)
- LeetCode *** 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- 【LeetCode】50. Pow(x, n)
- [leetcode]50. Pow(x, n)
- LeetCode-50.Pow(x, n)
- LeetCode - 50. Pow(x, n)
- [LeetCode] 50. Pow(x, n)
- LeetCode 50. Pow(x, n)
- 【MyBatis学习02】走进MyBatis的世界
- CSS 布局模型
- 机器学习方法篇(4)------决策树剪枝
- Java快速排序算法之通用方法
- 待解决队列
- LeetCode 50.Pow(x, n)
- 【MyBatis学习03】原始dao开发方法及其弊端
- MySQL存储过程和函数的区别与优缺点
- CSS 后代选择器和权值计算
- 暑假第一周 D CodeForces 660 B.
- 3. 什么是JSR参考实现?
- hihoCoder 二进制小数 BigDecimal使用
- 网络基础TCP/IP通信协议
- hdu1584 蜘蛛牌dfs