Missing Number

Missing Number

Given an array nums containing n distinct numbers in the range [0, n], return the only number in the range that is missing from the array.

Follow up: Could you implement a solution using only O(1) extra space complexity and O(n) runtime complexity?

Examples: 

Example 1:

Input: nums = [3,0,1]
Output: 2
Explanation: n = 3 since there are 3 numbers, so all numbers are in the range [0,3]. 2 is the missing number in the range since it does not appear in nums.

Example 2:

Input: nums = [0,1]
Output: 2
Explanation: n = 2 since there are 2 numbers, so all numbers are in the range [0,2]. 2 is the missing number in the range since it does not appear in nums.

Example 3:

Input: nums = [9,6,4,2,3,5,7,0,1]
Output: 8
Explanation: n = 9 since there are 9 numbers, so all numbers are in the range [0,9]. 8 is the missing number in the range since it does not appear in nums.

Example 4:

Input: nums = [0]
Output: 1
Explanation: n = 1 since there is 1 number, so all numbers are in the range [0,1]. 1 is the missing number in the range since it does not appear in nums.

 Constraints:

  • n == nums.length
  • 1 <= n <= 104
  • 0 <= nums[i] <= n
  • All the numbers of nums are unique.

Algorithm:

  1. Since n = nums.length and all the numbers of nums list are unique, we can find the one missing value in nums by computing the actual sum of the given nums list (using sum(nums) in Python) and subtracting it from the expected sum of adding all numbers upto n using natural number sum formula ( using (n * (n+1)//2) in Python).
  2. The difference would yield the missing element, within the 0 to n range of unique numbers in the given nums list that we are looking for.

Test:

1.Test empty and None nums list.

2. Test with the missing element to be the value 0.

3. Test with the missing element to be the value n.

Solution:

No alt text provided for this image

Complexity:

Since sums(nums) would need to look at each element in the list to compute sum, and the natural number sum formula does not incur any additional time, the worst case time complexity is T = O(n). Since we are not using any auxiliary space, space complexity is, S = O(1).

要查看或添加评论,请登录

Hary Krishnan的更多文章

  • Reorder data in log files

    Reorder data in log files

    https://leetcode.com/problems/reorder-data-in-log-files/description/ You have a list of logs.

    1 条评论
  • Shortest Distance

    Shortest Distance

    https://leetcode.com/problems/shortest-word-distance/ Given a list of words and two words word1 and word2, return the…

  • Shortest Distance II

    Shortest Distance II

    https://leetcode.com/problems/shortest-word-distance-ii/description/ https://gist.

  • Nested List Weight Sum I & II

    Nested List Weight Sum I & II

    https://leetcode.com/problems/nested-list-weight-sum/description/ https://leetcode.

  • Sliding Window Maximum

    Sliding Window Maximum

    Given an array nums, there is a sliding window of size k which is moving from the very left of the array to the very…

  • Permutations

    Permutations

    Given a collection of distinct integers, return all possible permutations. Example: Input: [1,2,3] Output: [ [1,2,3],…

  • Gas Station

    Gas Station

    Example: There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You have a…

  • Group Anagrams

    Group Anagrams

    Example: Given an array of strings, group anagrams together. Example: Input: ["eat", "tea", "tan", "ate", "nat"…

    1 条评论
  • First Duplicate

    First Duplicate

    Example: Given an array a that contains only numbers in the range from 1 to a.length, find the first duplicate number…

  • Maximum Subarray

    Maximum Subarray

    Example: Given an integer array nums, find the contiguous subarray (containing at least one number) which has the…

社区洞察

其他会员也浏览了