Class Solution
-
- All Implemented Interfaces:
public final class Solution3670 - Maximum Product of Two Integers With No Common Bits.
Medium
You are given an integer array
nums.Your task is to find two distinct indices
iandjsuch that the productnums[i] * nums[j]is **maximized, ** and the binary representations ofnums[i]andnums[j]do not share any common set bits.Return the maximum possible product of such a pair. If no such pair exists, return 0.
Example 1:
Input: nums = 1,2,3,4,5,6,7
Output: 12
Explanation:
The best pair is 3 (011) and 4 (100). They share no set bits and
3 * 4 = 12.Example 2:
Input: nums = 5,6,4
Output: 0
Explanation:
Every pair of numbers has at least one common set bit. Hence, the answer is 0.
Example 3:
Input: nums = 64,8,32
Output: 2048
Explanation:
No pair of numbers share a common bit, so the answer is the product of the two maximum elements, 64 and 32 (
64 * 32 = 2048).Constraints:
<code>2 <= nums.length <= 10<sup>5</sup></code>
<code>1 <= numsi<= 10<sup>6</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final LongmaxProduct(IntArray nums)-
-
Method Detail
-
maxProduct
final Long maxProduct(IntArray nums)
-
-
-
-