How Many Numbers Are Smaller Than the Current Number

60.7% Acceptance

In this lab, you will be creating a function that, given an array nums, determines how many numbers in the array are smaller than each element. For each element nums[i], the function must count the number of valid j's such that j != i and nums[j] < nums[i]. The final output should be an array of the same length, containing the counts of smaller numbers for each element.

You need to implement the following function:

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


Here are a few examples to help you understand the problem better:

Example 1:

Input: nums = [8,1,2,2,3] Output: [4,0,1,1,3] Explanation:

  • For nums[0]=8 there exist four smaller numbers than it (1, 2, 2, and 3).
  • For nums[1]=1 there does not exist any smaller number than it.
  • For nums[2]=2 there exist one smaller number than it (1).
  • For nums[3]=2 there exist one smaller number than it (1).
  • For nums[4]=3 there exist three smaller numbers than it (1, 2, and 2).

Example 2:

Input: nums = [6,5,4,8] Output: [2,1,0,3]

Example 3:

Input: nums = [7,7,7,7] Output: [0,0,0,0]


  • 2 <= nums.length <= 500
  • 0 <= nums[i] <= 100

Once you are done implementing the function, make sure to export it properly. We will be importing and testing your function using the following import statement:

import smallerNumbersThanCurrent from './index.js'

Good luck, and happy coding!