diff --git a/solution/1800-1899/1829.Maximum XOR for Each Query/README_EN.md b/solution/1800-1899/1829.Maximum XOR for Each Query/README_EN.md index eada5fc3e53ea..999c425415ce6 100644 --- a/solution/1800-1899/1829.Maximum XOR for Each Query/README_EN.md +++ b/solution/1800-1899/1829.Maximum XOR for Each Query/README_EN.md @@ -303,20 +303,16 @@ class Solution: ```java class Solution { public int[] getMaximumXor(int[] nums, int maximumBit) { - int xs = 0; - for (int x : nums) { - xs ^= x; + int xor = (int)(Math.pow(2, maximumBit))-1; + int[] answer = new int[nums.length]; + for(int i = 1; i < nums.length; i++){ + nums[i] ^= nums[i-1]; } - int mask = (1 << maximumBit) - 1; - int n = nums.length; - int[] ans = new int[n]; - for (int i = 0; i < n; ++i) { - int x = nums[n - i - 1]; - int k = xs ^ mask; - ans[i] = k; - xs ^= x; + int k=0; + for(int i=nums.length-1; i>=0; i--){ + answer[k++] ^= nums[i]^xor; } - return ans; + return answer; } } ```