剑指offer-第三天
来源:互联网 发布:java输出等腰三角形 编辑:程序博客网 时间:2024/06/11 12:00
1、二进制中1的个数
/*
*题目描述:求二进制中1的个数
*思路:采用n&(n-1)的方法,直至该表达式为0,统计执行次数即可
*/
public int NumberOf1(int n){
int sum=0;
while(n!=0){
n&=(n-1);
sum++;
}
return sum;
}
2、数值的整数次方
/*
*题目描述:数值的整数次方
*思路:本题考查细节,要尽可能地将所有可能出现的情况都考虑周全
*/
public double Power(double base,int exponent){
boolean flag=false;
if(equals(base,0.0)&&exponent<0){
flag=true;
return 0.0;
}
unsigned int absexponent=(unsigned int)(exponent);
if(exponent<0)
absexponent=(unsigned int)(-expnent);
double result=PowerWithUnsignedExponent(base,absexponent);
if(expnent<0)
result=1.0/result;
return result;
}
public double PowerWithUnsignedExponent(double base,int exponent){
double result=1;
while(exponent--){
result*=base;
}
return result;
}
/*整数次方优化算法
public double PowerWithUnsignedExponent(double base,int exponent){
if(exponent==0) return 1;
if(exponent==1) return base;
double result=PowerWithUnsignedExponent(base,exponent>>1);
if(exponent&Ox1==1)
result*=base;
return result;
}
*/
public boolean equals(double num1,double num2){
if((num1-num2>-0.0000001)&&(num1-num2<=0.0000001)){
return true;
}
else return false;
}
0 0
- 剑指offer-第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 第三天
- 3-6:visible过滤选择器
- 卷积神经网络在自然语言处理的应用
- [转]直播云平台架构如何构建? 附PPT
- matlab一般绘图功能
- memcached安装测试注册修改注销
- 剑指offer-第三天
- 家用wifi不稳定
- python GET POST 传递参数例子
- 3-7[attribute=value]属性选择器
- [bzoj1172]Dream
- 3-7[attribute=value]属性选择器
- 2014.12.31 GY-291陀螺仪(ADXL345)串口输出字符形式加速度
- linux 下编程指令
- kmeans++