leetCode 50.Pow(x, n) (x的n次方) 解题思路和方法
生活随笔
收集整理的這篇文章主要介紹了
leetCode 50.Pow(x, n) (x的n次方) 解题思路和方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Pow(x, n)?
Implement pow(x, n).
思路:題目不算難??墒琼氁紤]的情況比較多。
詳細代碼例如以下:
public class Solution {public double myPow(double x, int n) {boolean isMin0 = true;//結果負號if(x > 0 || (n&1) == 0){//x>0或n為偶數isMin0 = false;//為正}x = x < 0 ? -x:x;//將x統一設為正值double d = 1.0;if(n > 0){//n分三種情況while(n > 0){d = d*x;n--;if((Math.abs(d - 1.0) < 1e-15)){d = 1.0;//默認等于1break;}else if((Math.abs(d) < 1e-15)){d = 0;//默認等于0break;}}}else if(n == 0){return 1;}else{while(n < 0){d = d/x;n++;if((Math.abs(d - 1.0) < 1e-15)){d = 1;break;}else if((Math.abs(d) < 1e-15)){if(isMin0){//除數等于0。將等于正負無窮return Double.MIN_VALUE;}else{return Double.MAX_VALUE;}}}}return isMin0?-d:d;} }總結
以上是生活随笔為你收集整理的leetCode 50.Pow(x, n) (x的n次方) 解题思路和方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell批量监控网站状态码
- 下一篇: 两人合作