ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptでモードを見つける方法
JavaScript でモードを見つける方法: 1. 新しい配列を作成します; 2. 各値の出現数を数えます; 3. 配列を走査してモードを見つけます。
この記事の動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、DELL G3 コンピューター
検索方法JavaScriptのモード?
LeetCode のモードの検出 - JavaScript 実装
サイズ n の配列が与えられた場合、モードを見つけます。モードは、配列内に ⌊ n/2 ⌋ より多く出現する要素を指します。
配列は空ではなく、特定の配列には常にモードがあると想定できます。
例 1:
入力: [3,2,3]
出力: 3
例 2:
入力: [2,2,1,1,1,2,2]
出力: 2
##私の考え:新しい配列、各値の出現数を数え、配列を走査してモードを見つけます。
const majorityElement = function (nums) { let arry = [] for (let i in nums) { if (!arry[nums[i]]) { arry[nums[i]] = !!arry[nums[i]] + 1 }else { arry[nums[i]] ++ } } for(let i in arry){ if(arry[i] > nums.length/2){ return i } } };
leetcode に対する最速のソリューション:
ソリューションのアイデア:カウンターと中間値を使用し、最初に中間値を設定します。配列の最初のビットについては、走査中に、カウンタが同じである場合、カウンタは 1 だけインクリメントされ、異なる場合、カウンタはデクリメントされます。0 に達すると、次の値に置き換えられます。現在走査されている値。走査が完了すると、中間値 (モード) が返されます。 [おすすめの学習:「
js Basic Tutorial」]
var majorityElement = function(nums) { let count = 0; let majority = nums[0]; for (let i = 0; i < nums.length; i++) { if (count === 0) { majority = nums[i]; } if (majority === nums[i]) { count++; } else { count--; } } return majority; };
以上がJavaScriptでモードを見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。