Pow(x, n)
来源:互联网 发布:什么是网络公关 编辑:程序博客网 时间:2024/06/05 03:33
最朴素的想法会超时,当n特别大的时候。
pow(x,n)就是求x的n次方。x的N次方可以看做:x^n = x^(n/2)*x^(n/2)*x^(n%2)。所以利用递归求解,当n==0,返回1。
public class Solution { public double myPow(double x, int n) { if (n < 0) { return 1/pow(x, -n); } else { return pow(x, n); } } private double pow(double x, int n) { if (n == 0) { return 1; } double v = pow(x, n/2); if (n % 2 ==0) { x = v*v; } else { x = v*v*x; } return x; } // public double myPow(double x, int n) { // if (n == 0) { // return 1; // } // if (n == 1) { // return x; // } // boolean flag = false; // if (n < 0) { // flag = true; // n = -n; // } // double y = x; // for (int i = 1; i < n; i++) { // x = y*x; // } // if (flag) { // return 1/x; // } else // return x; // }}
0 0
- Pow(x, n) / Super Pow
- LeetCode: Pow(x, n)
- LeetCode Pow(x,n)
- [Leetcode] Pow(x, n)
- LeetCode: Pow(x, n)
- Leetcode: Pow(x,n)
- [LeetCode] Pow(x, n)
- [Leetcode] Pow(x,n)
- Pow(x, n)
- 【leetcode】Pow(x, n)
- Pow(x, n)
- 求 pow(x, n)
- [LeetCode]Pow(x, n)
- Pow(x,n)
- Pow(x, n)
- Pow(x, n)
- [leetcode]Pow(x, n)
- LeetCode-Pow(x, n)
- 滑动UITableViewCell出现多个按钮
- LeetCode 129. sum-root-to-leaf-numbers
- C语言中access函数
- jstl自定义函数标签---备忘录
- linux设备树的解释 - 总览
- Pow(x, n)
- Hyperion 安装部署过程
- 简单的动画效果 iOS新手笔记
- 如何以个人名义发送营销电子邮件?
- C++面向对象多线程编程简介
- Table tr td th表格使用案例
- UCOS2_STM32F1移植详细过程(三)
- 实现类似listView中动态添加Item的功能
- OpenCV基础篇之图像的DFT频域变换