Sort Even and Odd Indices Independently

Easy
5
32.5% Acceptance

In this lab, you will be working on a function that takes an array of integers and sorts it in a way that values present at odd indices are sorted in non-increasing order, and values present at even indices are sorted in non-decreasing order. You will be using ESM import/export syntax throughout the lab.

Function signature:

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

Description

Given a 0-indexed integer array nums, you need to rearrange the values of nums according to the following rules:

  1. Sort the values at odd indices of nums in non-increasing order.
    • For example, if nums = [4,1,2,3] before this step, it becomes [4,3,2,1] after. The values at odd indices 1 and 3 are sorted in non-increasing order.
  2. Sort the values at even indices of nums in non-decreasing order.
    • For example, if nums = [4,1,2,3] before this step, it becomes [2,1,4,3] after. The values at even indices 0 and 2 are sorted in non-decreasing order.

Return the array formed after rearranging the values of nums.

Examples

Example 1:

Input: nums = [4,1,2,3] Output: [2,3,4,1] Explanation: First, we sort the values present at odd indices (1 and 3) in non-increasing order. So, nums changes from [4,1,2,3] to [4,3,2,1]. Next, we sort the values present at even indices (0 and 2) in non-decreasing order. So, nums changes from [4,1,2,3] to [2,3,4,1]. Thus, the array formed after rearranging the values is [2,3,4,1].

Example 2:

Input: nums = [2,1] Output: [2,1] Explanation: Since there is exactly one odd index and one even index, no rearrangement of values takes place. The resultant array formed is [2,1], which is the same as the initial array.

Constraints:

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

In order to successfully pass this lab, make sure you export the sortEvenOdd function properly, as it will be used in the evaluation script to test your code.