diff --git a/bit_manipulation/missing_number.py b/bit_manipulation/missing_number.py index 92502a778ace..7b2830389180 100644 --- a/bit_manipulation/missing_number.py +++ b/bit_manipulation/missing_number.py @@ -12,10 +12,10 @@ def find_missing_number(nums: list[int]) -> int: >>> find_missing_number([0, 1, 3, 4]) 2 """ - n = len(nums) - missing_number = n - - for i in range(n): - missing_number ^= i ^ nums[i] + n = nums[-1] + for i in range(nums[0], n + 1): + if nums[i - nums[0]] != i: + missing_number = i + break return missing_number