题目Pow( x, n)通过率26.2%难度MediumImplement pow(x,n). 初步构想:开始拿到题目就以为是简单的求幂运算,一直迭代乘法就可以了,事实证明,想法过于简单!!结果自己给自己挖了个坑,根本没有考虑到数的大小以及溢出的问题,自己默认n为正数了,要注意幂指数为负数的情况是....
分类:
其他好文 时间:
2014-12-13 17:49:18
阅读次数:
211
Pow(x, n)Implement pow(x,n).按照定义做的O(n)肯定是TLE的。利用这个信息:x2n = (xn)2有个主意点,当n为负是,直接取反是不可行的。由于int的表示范围是[2-31, 231-1],当n为INT_MIN时,取反会溢出。因此需要对n==INT_MIN单独考虑。另...
分类:
其他好文 时间:
2014-12-13 13:26:21
阅读次数:
142
标题Pow(x, n)通过率26.1%难度中等Implement pow(x,n). 以为只是单纯的求xn,习惯了用java里面的math.pow(x,n),所以我认为传进来的值都是比较正常的,谁知道竟然会传n<0的数。。。。。直接泪奔,然后再尝试。。。发现栈溢出,也就是说单纯的递归或者非递归针对....
分类:
其他好文 时间:
2014-12-10 17:47:13
阅读次数:
153
问题描述:
Implement pow(x, n).
基本思想:
将求幂转换为求对数的幂 . 如x^n = exp(n*log(x));
代码:
double pow(double x, int n) { //C++
if(x == 0.0)
return 0;
if(n == 0)
return ...
分类:
其他好文 时间:
2014-12-07 15:05:48
阅读次数:
145
class Solution {
public:
double pow(double x,int n)
{
if(n<0)return 1.0/power(x,-n);
return power(x,n);
}
double power(double x, int n) {
if(n == 0) return 1;
double temp =...
分类:
其他好文 时间:
2014-12-03 21:19:09
阅读次数:
103
BigDecimal类
为了能精确表示,计算浮点数,java提供了BigDecimal类,该类提供了大量的构造器用于创建BigDecimal对象,包括
把所有的基本数值型变量转换成一个BigDecimal对象,也包括利用数字字符串,数字字符数组来创建BigDecimal对象
BigDecimal类提供了add()方法,subtract(),multiply(),divide(),pow()方...
分类:
其他好文 时间:
2014-11-27 23:45:55
阅读次数:
289
Implement pow(x, n).Analysis:x^n = x^(n/2)*x^(n/2) (*x, if n is odd).NOTE: We need consider n0) 8 res = powRecur(x,n); 9 else{10 ...
分类:
其他好文 时间:
2014-11-27 06:44:27
阅读次数:
209
题意:给定n,p;表示n个点中任意两点连边的概率为p,求生成的图是个连通块的概率。n
解法:反向思考,ans[i]为i个节点为连通块的概率,求ans[n]时候,求不为一个连通块的概率,然后用1减。求非连通时,枚举与1号节点为一个连通块的点的个数即可。
公式:ans[i]=1.0- sigma C[i-1][j-1]*ans[j]*pow(1.0-p,j*(i-j)) --- j f...
分类:
其他好文 时间:
2014-11-26 22:36:42
阅读次数:
170
Implement pow(x,n).思路:像string to integer一样。考虑的细节较多。 1.测试用例要考虑基数和指数都为正数、负数和零的情况。 2.注意0的0次方在数学上没有意义。 3.用位运算代替乘除和求余优化效率:移位代替除法(n>>1 == n /2);用位与代替求...
分类:
其他好文 时间:
2014-11-26 22:15:49
阅读次数:
182
int类型范围 -2147483648~2147483647
当n=-2147483648,则-n=2147483648超出2147483647,结果仍然是-2147483648,所以应该单独处理。
也可以用机器码来解释这一个知识点:-2147483648的机器吗为1000...0000(32位),取负,即机器码各位取反后加1,得到的还是100....000。这也是代码中if(n<0 && n!=INT_MIN) return 1.0/pow(x,-n) 为什么这样写的原因,如果写成if(n<0) retu...
分类:
其他好文 时间:
2014-11-22 09:21:59
阅读次数:
220