52 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Majority element

n o'lchamli massiv nums berilgan. Eng ko'p marta uchragan (majority) elementni toping.

Majority element deb n / 2 martadan ko'proq uchragan songa aytiladi. Massivda har doim majority element mavjud bo'ladi deb faraz qilishingiz mumkin.

example.go
func solve(nums []int) int {
    // ...
}

Misollar

kod
Input: nums = [3,2,3]
Output: 3
kod
Input: nums = [2,2,1,1,1,2,2]
Output: 2
kod
Input: nums = [1]
Output: 1

Maslahatlar

  1. n/2 dan ko'p uchragan element borligini alohida sanoq (map) saqlamasdan ham "ovoz berish" g'oyasi orqali topish mumkin — Boyer-Moore voting algoritmini eslang.
  2. Nomzod va hisoblagich saqlang: hisoblagich 0 bo'lganda joriy elementni yangi nomzod qiling, keyingi elementlar nomzodga mos kelsa hisoblagichni oshiring, mos kelmasa kamaytiring — massiv oxirida qolgan nomzod javob bo'ladi.