两个简单算法求解
1. 一个四字节数,求其二进制中1的个数.
2. 一数组,int a[] = { ... } ,求使 a[j] - a[i] (i < j )最大.
[解决办法]
1. 太常见了:
a,n=0;
while a
n++;
a &=(a-1);
2. 一个简单的思路:
令f(i)=a(i)-g(i),g(i)=min{a(0),a(1),,,a(i-1)},i>0,那么答案就是max{f(1),f(2),,,f(n-1)}
[解决办法]
第一题方法很多,查表是最快的,x&(x-1),还有&0X55555555的那个办法。。。。