Rumah >hujung hadapan web >tutorial js >Bagaimana untuk mencari elemen yang paling kerap dalam susunan?

Bagaimana untuk mencari elemen yang paling kerap dalam susunan?

Barbara Streisand
Barbara Streisandasal
2024-11-15 15:47:02493semak imbas

How to Find the Most Frequent Element in an Array?

Menentukan Elemen dengan Kejadian Tertinggi dalam Tatasusunan

Menentukan elemen (mod) yang paling kerap berlaku dalam tatasusunan ialah pengaturcaraan biasa tugasan. Untuk tatasusunan tertentu, kita perlu mencari elemen yang paling kerap muncul.

Untuk menyelesaikan masalah ini secara elegan, satu pendekatan ialah menggunakan peta mod. Peta mod berfungsi sebagai jadual carian yang mengaitkan setiap elemen unik dalam tatasusunan dengan kekerapan kejadian masing-masing. Dengan melelaran melalui tatasusunan, kami mengekalkan kejadian tertinggi semasa dan elemen yang sepadan.

Penyelesaian JavaScript berikut melaksanakan pendekatan ini:

function mode(array) {
  if (array.length === 0) {
    return null;
  }

  let modeMap = {};
  let maxEl = array[0];
  let maxCount = 1;

  for (let i = 0; i < array.length; i++) {
    let el = array[i];
    if (modeMap[el] == null) {
      modeMap[el] = 1;
    } else {
      modeMap[el]++;
    }

    if (modeMap[el] > maxCount) {
      maxEl = el;
      maxCount = modeMap[el];
    }
  }

  return maxEl;
}

Dalam penyelesaian ini, kami memulakan peta mod sebagai objek kosong. Kami kemudian melelang melalui elemen tatasusunan, menambah kiraan masing-masing dalam peta mod. Kami sentiasa mengemas kini kejadian tertinggi dan elemen yang sepadan dengan menjejaki elemen yang paling kerap muncul. Akhir sekali, kami mengembalikan elemen dengan kejadian tertinggi sebagai mod.

Atas ialah kandungan terperinci Bagaimana untuk mencari elemen yang paling kerap dalam susunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn