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

Bagaimana untuk mencari mod dalam javascript

藏色散人
藏色散人asal
2022-01-19 15:12:042477semak imbas

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
        }
    }
};

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;
};

Atas ialah kandungan terperinci Bagaimana untuk mencari mod dalam javascript. 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