Special Array With X Elements Greater Than or Equal X

47.8% Acceptance

In this lab, you are tasked with finding a special array. An array nums is considered special if there exists a number x such that there are exactly x numbers in nums that are greater than or equal to x. Your goal is to return x if the array is special, otherwise return -1. Keep in mind that x does not have to be an element in nums. It is guaranteed that if nums is special, the value for x is unique.

You will be given an array nums of non-negative integers, and you should implement the specialArray function to pass the challenges.

Function signature:

/** * @param {number[]} nums * @return {number} */ var specialArray = function(nums) { };

Here are some examples to help you understand the problem:

Example 1:

Input: nums = [3, 5] Output: 2 Explanation: There are 2 values (3 and 5) that are greater than or equal to 2.

Example 2:

Input: nums = [0, 0] Output: -1 Explanation: No numbers fit the criteria for x. If x = 0, there should be 0 numbers >= x, but there are 2. If x = 1, there should be 1 number >= x, but there are 0. If x = 2, there should be 2 numbers >= x, but there are 0. x cannot be greater since there are only 2 numbers in nums.

Example 3:

Input: nums = [0, 4, 3, 0, 4] Output: 3 Explanation: There are 3 values that are greater than or equal to 3.


  • 1 <= nums.length <= 100
  • 0 <= nums[i] <= 1000

Once you have implemented the specialArray function, you will be given several challenges to test your solution. Here are the challenges you will face in this lab:

  1. Challenge 1: Implement the specialArray function.
  2. Challenge 2: Test the function with various inputs and edge cases.

Export the specialArray function and any other variables or functions you need to complete the challenges.

Remember that the evaluation script will import your code, so make sure to export everything that is required for the challenges.

Good luck, and happy coding!