Skip to content

Commit 3ecad36

Browse files
fix: incorrect range detection in find_missing_number (#10361)
* Fix incorrect range detection in find_missing_number * Support consecutive decreasing numbers Added support for consecutive decreasing numbers in the find_missing_number function. * Support unordered numbers
1 parent c9ba5e1 commit 3ecad36

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

Diff for: bit_manipulation/missing_number.py

+11-4
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@ def find_missing_number(nums: list[int]) -> int:
1111
Example:
1212
>>> find_missing_number([0, 1, 3, 4])
1313
2
14+
>>> find_missing_number([1, 3, 4, 5, 6])
15+
2
16+
>>> find_missing_number([6, 5, 4, 2, 1])
17+
3
18+
>>> find_missing_number([6, 1, 5, 3, 4])
19+
2
1420
"""
15-
n = len(nums)
16-
missing_number = n
21+
low = min(nums)
22+
high = max(nums)
23+
missing_number = high
1724

18-
for i in range(n):
19-
missing_number ^= i ^ nums[i]
25+
for i in range(low, high):
26+
missing_number ^= i ^ nums[i - low]
2027

2128
return missing_number

0 commit comments

Comments
 (0)