Bagaimana untuk mencari elemen yang paling kerap dalam susunan?

Barbara Streisand
Lepaskan: 2024-11-15 15:47:02
asal
416 orang telah melayarinya

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;
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan