hardArrayEnumerationGreedyMath 0 views

Partition Array for Maximum XOR and AND

You are given an integer array nums.

You are given an integer array nums.

Partition the array into three (possibly empty) subsequences A, B, and C such that every element of nums belongs to exactly one subsequence.

Your goal is to maximize the value of: XOR(A) + AND(B) + XOR(C)

where:

Return the maximum value achievable.

Note: If multiple partitions result in the same maximum sum, you can consider any one of them.

Partition Array for Maximum XOR and AND diagram

Example 1

Input: nums = [2,3]

Output: 5

Explanation: One optimal partition is: The maximum value of: XOR(A) + AND(B) + XOR(C) = 3 + 2 + 0 = 5 . Thus, the answer is 5.

Example 2

Input: nums = [1,3,2]

Output: 6

Explanation: One optimal partition is: The maximum value of: XOR(A) + AND(B) + XOR(C) = 1 + 2 + 3 = 6 . Thus, the answer is 6.

Example 3

Input: nums = [2,3,6,7]

Output: 15

Explanation: One optimal partition is: The maximum value of: XOR(A) + AND(B) + XOR(C) = 7 + 2 + 6 = 15 . Thus, the answer is 15.

Constraints

  • 1 <= nums.length <= 19
  • 1 <= nums[i] <= 10^9

Hints

Companies

No companies reported yet.

Discussion

Sign in to join the discussion.

Loading discussion...

Test results

No test cases yet.