mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 01:00:15 +00:00
3ecad36f92
* 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
29 lines
633 B
Python
29 lines
633 B
Python
def find_missing_number(nums: list[int]) -> int:
|
|
"""
|
|
Finds the missing number in a list of consecutive integers.
|
|
|
|
Args:
|
|
nums: A list of integers.
|
|
|
|
Returns:
|
|
The missing number.
|
|
|
|
Example:
|
|
>>> find_missing_number([0, 1, 3, 4])
|
|
2
|
|
>>> find_missing_number([1, 3, 4, 5, 6])
|
|
2
|
|
>>> find_missing_number([6, 5, 4, 2, 1])
|
|
3
|
|
>>> find_missing_number([6, 1, 5, 3, 4])
|
|
2
|
|
"""
|
|
low = min(nums)
|
|
high = max(nums)
|
|
missing_number = high
|
|
|
|
for i in range(low, high):
|
|
missing_number ^= i ^ nums[i - low]
|
|
|
|
return missing_number
|