按位AND和按位OR的最大乘积

时间:2017-02-15 07:20:30

标签: algorithm bit-manipulation

我们提供了一个数组。 我们需要找出2个指数 i和j(i!= j)这样 给定值
X(i,j)=(Arr [i]& Arr [j])*(Arr [i] | Arr [j])
是最大的,其中&代表按位AND和|代表Bitwise OR。

我们需要打印X的最大值。

1<=Size of array<=100000  
1<=Arr[i]<=1000000000   

示例 -

N=4  
Arr[]= 2 3 4 5  
Ans is 20 ( (4&5) * (4|5) )

我发现通过O(N * 32)的解可以很容易地找到最大AND,但是对于按位OR并同时保持两者,它变得越来越困难。

0 个答案:

没有答案