Rumah  >  Artikel  >  Java  >  Leetcode — Temuduga Teratas –. Elemen Majoriti

Leetcode — Temuduga Teratas –. Elemen Majoriti

Linda Hamilton
Linda Hamiltonasal
2024-11-04 08:37:30276semak imbas

Leetcode — Top Interview –. Majority Element

Masalah yang mudah dengan perihalannya ialah:

Diberikan nombor tatasusunan saiz n, kembalikan elemen majoriti.

Elemen majoriti ialah elemen yang muncul lebih daripada ⌊n / 2⌋ kali. Anda mungkin menganggap bahawa elemen majoriti sentiasa wujud dalam tatasusunan.

Contoh 1:

Input: nums = [3,2,3]
Keluaran: 3

Contoh 2:

Input: nombor = [2,2,1,1,1,2,2]
Keluaran: 2

Kekangan:

n == angka.panjang
1 <= n <= 5 * 104
-109 <= angka[i] <= 109

Pada pandangan pertama anda akan berfikir tentang membuat peta kemudian mengumpulkan peta yang paling banyak ditunjukkan.

Setelah difikirkan, jika anda boleh mengisih dan mendapatkan yang paling banyak dipaparkan, itu akan berjaya.

Dan dengan itu terdapat cara yang lebih mudah. Jika anda membaca huraian dengan teliti, anda akan faham bahawa elemen majoriti ialah elemen yang muncul lebih separuh daripada tatasusunan.

Dengan itu, jika anda akan mengisihnya dan mengambil indeks tengah, itu akan menyelesaikan masalah:

class Solution {
    public int majorityElement(int[] nums) {

        // sort
        Arrays.sort(nums);

        // if by majority element it means that appears more than half of nums size
        // then picking the middle element would be the one that's a majority element
        return nums[nums.length / 2];
    }
}

Masa Jalan: 4 ms, lebih pantas daripada 54.53% penyerahan dalam talian Java untuk Elemen Majoriti.

Penggunaan Memori: 53.5 MB, kurang daripada 9.23% penyerahan dalam talian Java untuk Elemen Majoriti.

Itu sahaja! Jika ada perkara lain untuk dibincangkan, sila tinggalkan ulasan, jika saya terlepas apa-apa beritahu saya supaya saya boleh mengemas kini dengan sewajarnya.

Sehingga post seterusnya! :)

Atas ialah kandungan terperinci Leetcode — Temuduga Teratas –. Elemen Majoriti. 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