All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0268_missing_number.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0201_0300.s0268_missing_number;

// #Easy #Top_Interview_Questions #Array #Hash_Table #Math #Sorting #Binary_Search #Bit_Manipulation
// #2022_07_05_Time_1_ms_(72.07%)_Space_50.6_MB_(76.88%)

/**
 * 268 - Missing Number\.
 *
 * Easy
 *
 * 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._
 *
 * **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**.
 *
 * **Follow up:** Could you implement a solution using only `O(1)` extra space complexity and `O(n)` runtime complexity?
**/
public class Solution {
    public int missingNumber(int[] nums) {
        int a = nums.length;
        for (int i = 0; i < nums.length; i++) {
            a ^= i;
            a ^= nums[i];
        }
        return a;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy