From f94b52fd0afe1fbb4e1d60e7ea10877a073715f3 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 1 Oct 2023 12:34:14 +0530 Subject: [PATCH 1/2] Added missing_number algorithm using bit manipulation --- bit_manipulation/missing_number.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 bit_manipulation/missing_number.py diff --git a/bit_manipulation/missing_number.py b/bit_manipulation/missing_number.py new file mode 100644 index 000000000000..84a6a057bffc --- /dev/null +++ b/bit_manipulation/missing_number.py @@ -0,0 +1,21 @@ +def find_missing_number(nums): + """ + Finds the missing number in a list of consecutive integers. + + Args: + nums (List[int]): A list of integers. + + Returns: + int: The missing number. + + Example: + >>> find_missing_number([0, 1, 3, 4]) + 2 + """ + n = len(nums) + missing_number = n + + for i in range(n): + missing_number ^= i ^ nums[i] + + return missing_number From 1a207520934b84e5922fbd540ac5a15e93cc8a14 Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Sun, 1 Oct 2023 13:23:47 +0200 Subject: [PATCH 2/2] Update bit_manipulation/missing_number.py --- bit_manipulation/missing_number.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bit_manipulation/missing_number.py b/bit_manipulation/missing_number.py index 84a6a057bffc..92502a778ace 100644 --- a/bit_manipulation/missing_number.py +++ b/bit_manipulation/missing_number.py @@ -1,12 +1,12 @@ -def find_missing_number(nums): +def find_missing_number(nums: list[int]) -> int: """ Finds the missing number in a list of consecutive integers. Args: - nums (List[int]): A list of integers. + nums: A list of integers. Returns: - int: The missing number. + The missing number. Example: >>> find_missing_number([0, 1, 3, 4])