From e4272122d6e7404089e759d490c9b95abda1cfe2 Mon Sep 17 00:00:00 2001 From: hi-rachel Date: Wed, 1 Oct 2025 17:55:05 +0900 Subject: [PATCH] missing-number sol (py) --- missing-number/hi-rachel.py | 38 +++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 missing-number/hi-rachel.py diff --git a/missing-number/hi-rachel.py b/missing-number/hi-rachel.py new file mode 100644 index 0000000000..90debd5325 --- /dev/null +++ b/missing-number/hi-rachel.py @@ -0,0 +1,38 @@ +""" +TC: O(n) +SC: O(n) +""" +from typing import List + + +class Solution: + def missingNumber(self, nums: List[int]) -> int: + num_set = set(nums) + for i in range(len(nums)): + if i not in num_set: + return i + return len(nums) + + +""" +TC: O(n log n) +SC: O(1) +""" +class Solution: + def missingNumber(self, nums: List[int]) -> int: + nums.sort() + for idx, num in enumerate(nums): + if idx != num: + return idx + return len(nums) + + +""" +TC: O(n) +SC: O(1) +""" +class Solution: + def missingNumber(self, nums: List[int]) -> int: + expected_sum = len(nums) * (len(nums) + 1) // 2 + actual_sum = sum(nums) + return expected_sum - actual_sum