421. Maximum XOR of Two Numbers in an Array (solution 1: bruce force)

package LeetCode_421

/**
 * 421. Maximum XOR of Two Numbers in an Array
 * https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array/description/
 *
 * Given an integer array nums, return the maximum result of nums[i] XOR nums[j], where 0 ≤ i ≤ j < n.
Follow up: Could you do this in O(n) runtime?

Example 1:
Input: nums = [3,10,5,25,2,8]
Output: 28
Explanation: The maximum result is 5 XOR 25 = 28.

Example 2:
Input: nums = [0]
Output: 0

Constraints:
1 <= nums.length <= 2 * 104
0 <= nums[i] <= 231 - 1
 * */
class Solution {
    /*
    * solution 1: bruce force, Time complexity: O(n^2), Space complexity:O(1)
    * */
    fun findMaximumXOR(nums: IntArray): Int {
        var max = Int.MIN_VALUE
        for (i in nums.indices) {
            for (j in i until nums.size) {
                max = Math.max(nums[i] xor nums[j], max)
            }
        }
        return max
    }
}

 

posted @ 2020-09-20 23:33  johnny_zhao  阅读(112)  评论(0编辑  收藏  举报