Skip to content

Commit c51b492

Browse files
committed
Add Solution.py for 0421.Maximum XOR of Two Numbers in an Array
1 parent 332e04e commit c51b492

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution:
2+
def findMaximumXOR(self, nums: List[int]) -> int:
3+
max = 0
4+
mask = 0
5+
for i in range(30, -1, -1):
6+
current = 1 << i
7+
# ๆœŸๆœ›็š„ไบŒ่ฟ›ๅˆถๅ‰็ผ€
8+
mask = mask ^ current
9+
# ๅœจๅฝ“ๅ‰ๅ‰็ผ€ไธ‹, ๆ•ฐ็ป„ๅ†…็š„ๅ‰็ผ€ไฝๆ•ฐๆ‰€ๆœ‰ๆƒ…ๅ†ต้›†ๅˆ
10+
_set = set()
11+
for num in nums:
12+
_set.add(num & mask)
13+
# ๆœŸๆœ›ๆœ€็ปˆๅผ‚ๆˆ–ๅ€ผ็š„ไปŽๅณๆ•ฐ็ฌฌiไฝไธบ1, ๅ†ๆ นๆฎๅผ‚ๆˆ–่ฟ็ฎ—็š„็‰นๆ€งๆŽจ็ฎ—ๅ‡่ฎพๆ˜ฏๅฆๆˆ็ซ‹
14+
flag = max | current
15+
for prefix in _set:
16+
if prefix ^ flag in _set:
17+
max = flag
18+
break
19+
return max

โ€Žsolution/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,8 @@
768768
โ”‚ย ย  โ””โ”€โ”€ Solution.java
769769
โ”œโ”€โ”€ 0421.Maximum XOR of Two Numbers in an Array
770770
โ”‚ย ย  โ”œโ”€โ”€ README.md
771-
โ”‚ย ย  โ””โ”€โ”€ Solution.java
771+
โ”‚ย ย  โ”œโ”€โ”€ Solution.java
772+
โ”‚ย ย  โ””โ”€โ”€ Solution.py
772773
โ”œโ”€โ”€ 0423.Reconstruct Original Digits from English
773774
โ”‚ย ย  โ””โ”€โ”€ Solution.cpp
774775
โ”œโ”€โ”€ 0427.Construct Quad Tree

0 commit comments

Comments
ย (0)