Home > Web Front-end > JS Tutorial > Picking Numbers - HakerRank Solution - Javascript

Picking Numbers - HakerRank Solution - Javascript

WBOY
Release: 2024-09-03 11:33:47
Original
303 people have browsed it

Picking Numbers - HakerRank Solution - Javascript

Given an array of integers, find the longest subarray where the absolute difference between any two elements is less than or equal to

Example

_a = [1,1,2,2,4,4,5,5,5]_
There are two subarrays meeting the criterion: [1,1,2,2] and [4,4,5,5,5]. The maximum length subarray has 5 elements.

Function Description

Complete the pickingNumbers function in the editor below.

pickingNumbers has the following parameter(s):

  • int a[n]: an array of integers

Returns

  • int: the length of the longest subarray that meets the criterion

Input Format

The first line contains a single integer n, the size of the array a.
The second line contains n space-separated integers, each an a[i].

Solution

function pickingNumbers(a) {
    // Create an array to store frequency of each element in the input array
    let frequency = new Array(100).fill(0);

    // Count frequency of each element
    for (let i = 0; i < a.length; i++) {
        frequency[a[i]]++;
    }

    // Initialize a variable to store the maximum length of subarray found
    let maxLength = 0;

    // Traverse through frequency array to find the longest subarray
    for (let i = 1; i < frequency.length; i++) {
        // The length of a valid subarray is the sum of the frequency of
        // the current element and the previous element
        maxLength = Math.max(maxLength, frequency[i] + frequency[i - 1]);
    }

    return maxLength;
}
Copy after login

The above is the detailed content of Picking Numbers - HakerRank Solution - Javascript. For more information, please follow other related articles on the PHP Chinese website!

source:dev.to
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template