ホームページ >ウェブフロントエンド >jsチュートリアル >数字の選択 - HakerRank ソリューション - JavaScript

数字の選択 - HakerRank ソリューション - JavaScript

WBOY
WBOYオリジナル
2024-09-03 11:33:47292ブラウズ

Picking Numbers - HakerRank Solution - Javascript

整数の配列が与えられた場合、任意の 2 つの要素間の絶対差が

以下である最長の部分配列を見つけます。

_a = [1,1,2,2,4,4,5,5,5]_
基準を満たす 2 つのサブ配列があります: [1,1,2,2] と [4,4,5,5,5]。最大長の部分配列には 5 つの要素があります。

機能の説明

以下のエディターで PickNumbers 関数を完了します。

pickingNumbers には次のパラメータがあります:

  • int a[n]: 整数の配列

返品

  • int: 基準を満たす最長の部分配列の長さ

入力フォーマット

最初の行には、配列 a のサイズである単一の整数 n が含まれています。
2 行目には、スペースで区切られた 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。