From 07faefe745285d5c4709e5e0c9b21baa7fd9df4c Mon Sep 17 00:00:00 2001 From: piyushlasane <160647609+piyushlasane@users.noreply.github.com> Date: Thu, 30 Jan 2025 11:51:47 +0530 Subject: [PATCH 1/2] Easy Code for Solution 2 in Question 1829.Maximum XOR for Each Query --- .../README_EN.md | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) 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..60bee8e9ca144 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; } } ``` From b84a2fe5fc84b23d74a88d45970d754f4772ac9d Mon Sep 17 00:00:00 2001 From: piyushlasane <160647609+piyushlasane@users.noreply.github.com> Date: Thu, 30 Jan 2025 07:07:54 +0000 Subject: [PATCH 2/2] style: format code and docs with prettier --- solution/1800-1899/1829.Maximum XOR for Each Query/README_EN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 60bee8e9ca144..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 @@ -310,7 +310,7 @@ class Solution { } int k=0; for(int i=nums.length-1; i>=0; i--){ - answer[k++] ^= nums[i]^xor; + answer[k++] ^= nums[i]^xor; } return answer; }