[LeetCode OJ]Pow(x, n)
来源:互联网 发布:网红们用的美图软件 编辑:程序博客网 时间:2024/05/17 07:38
Implement pow(x, n).
问题描述及其简单,求幂。
开始时候觉得n的正负号不是问题,后来发现还是要分类考虑的,网上提供了两种思路,一种是二分,一种是移位。
class Solution {public: double pow(double x, int n) { if (n == 0) return 1.0; double half = pow(x, n/2); if (n%2 == 0) { return half*half; } else if (n>0) { return half*half*x; } else { return half/x*half; } }};
还是挺不好想的呢。
class Solution {public: double pow(double x, int n) { double result = 1.0; double temp = x; unsigned int m; n < 0 ? m = -1 * n : m = n; while(m) { if(m & 1) { result = result * temp; } m = m>>1; temp *= temp; } if(n < 0) { return 1/result; } else { return result; } }};
移位的思想还是蛮有用的,以后除以2、乘以2的,都可以用。
0 0
- LeetCode OJ:Pow(x, n)
- [LeetCode OJ]Pow(x, n)
- LeetCode OJ Pow(x, n)
- <LeetCode OJ> 50. Pow(x, n)
- LeetCode OJ 50. Pow(x, n)
- LeetCode OJ 之 Pow(x, n) (求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)
- [Leetcode] Pow(x,n)
- 【leetcode】Pow(x, n)
- [LeetCode]Pow(x, n)
- [leetcode]Pow(x, n)
- LeetCode-Pow(x, n)
- LeetCode - Pow(x, n)
- OOM(out_of_memory) killer分析
- win7 x64 windbg 双机调试
- 坑死人不偿命,svn 迁移到 git
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- OpenCV 在 iOS 开发环境下的编译和配置
- [LeetCode OJ]Pow(x, n)
- 第十三周项目一数组大折腾3
- Android中对Log日志文件的分析
- DotNetBar如何控制窗体样式
- Directory Structure (Chromium OS)
- 项目上传到github时出现的错误
- 01背包问题
- C++ 关于new和delete的一些简单用法
- Android应用增量升级