Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Bagaimana untuk mencari mod dalam javascript

Bagaimana untuk mencari mod dalam javascript

藏色散人
Lepaskan: 2022-01-19 15:12:04
asal
2452 orang telah melayarinya

Cara mencari mod dalam JavaScript: 1. Buat tatasusunan baharu 2. Kira bilangan kali setiap nilai muncul 3. Lintas tatasusunan dan cari mod.

Bagaimana untuk mencari mod dalam javascript

Persekitaran pengendalian artikel ini: sistem Windows 7, versi javascript 1.8.5, komputer DELL G3

Cara mencari mod dalam javascript?

LeetCode mencari mod - pelaksanaan JavaScript

Mencari mod

Memandangkan tatasusunan saiz n, cari mod. Mod merujuk kepada elemen yang muncul lebih daripada ⌊ n/2 ⌋ dalam tatasusunan.

Anda boleh menganggap bahawa tatasusunan itu tidak kosong dan sentiasa ada mod untuk tatasusunan yang diberikan.

Contoh 1:

Input: [3,2,3]
Output: 3

Contoh 2:

Input: [2,2,1,1,1,2,2]
Output: 2

Fikiran Saya:
Baharu tatasusunan, kira bilangan kejadian setiap nilai, dan kemudian lintasi tatasusunan untuk mencari mod.

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

Penyelesaian terpantas untuk leetcode:

Idea penyelesaian:
Gunakan pembilang dan nilai perantaraan, biarkan yang tengah Nilai adalah sama dengan bit pertama tatasusunan Semasa traversal, jika pembilang adalah sama, pembilang akan ditambah dengan satu, dan jika ia berbeza, pembilang akan dikurangkan dengan satu , ia akan digantikan dengan nilai yang sedang dilalui Selepas traversal selesai, nilai perantaraan akan dikembalikan. [Kajian yang disyorkan: "Tutorial Asas JS"]

Rasanya indah, ada idea mengimbangi di dalamnya

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

Atas ialah kandungan terperinci Bagaimana untuk mencari mod dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan