首頁 >web前端 >js教程 >選擇數字 - HakerRank 解決方案 - Javascript

選擇數字 - HakerRank 解決方案 - Javascript

WBOY
WBOY原創
2024-09-03 11:33:47292瀏覽

Picking Numbers - HakerRank Solution - Javascript

給定一個整數數組,找出任兩個元素之間的絕對差小於或等於

的最長子數組

例子

_a = [1,1,2,2,4,4,5,5,5]_
有兩個滿足條件的子數組:[1,1,2,2]和[4,4,5,5,5]。最大長度子數組有 5 個元素。

功能說明

在下面的編輯器中完成pickingNumbers函數。

pickingNumbers 有以下參數:

  • int a[n]:整數陣列

退貨

  • int:滿足條件的最長子數組的長度

輸入格式

第一行包含一個整數n,即陣列a的大小。
第二行包含 n 個空格分隔的整數,每個整數都是 a[i].

解決方案

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;
}

以上是選擇數字 - HakerRank 解決方案 - Javascript的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn