Menu
CoddyTech

Majority Element

DễBămpython iconjava iconcpp iconc iconjs icon+10

Bạn nhận được một mảng số nguyên nums có độ dài n. Một giá trị xuất hiện trong mảng nhiều hơn n / 2 lần và được gọi là phần tử đa số. Hãy trả về giá trị đó. Giá trị xuất hiện trong hơn một nửa số phần tử của mảng luôn là duy nhất, vì vậy chỉ có một đáp án.

Hàm

majorityElement(nums: integer-array) → integer
numsinteger-array
mảng số nguyên, trong đó một giá trị chiếm hơn một nửa mảng
Trả vềinteger
giá trị xuất hiện nhiều hơn n / 2 lần

Ràng buộc

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Một giá trị xuất hiện nhiều hơn nums.length / 2 lần.

Ví dụ

Đầu vào
nums = [3, 9, 3, 3, 4]
Đầu ra
3
Giải thích
Số 3 xuất hiện ba lần trong năm phần tử. Ba lớn hơn 5 / 2 = 2.5, còn 9 và 4 mỗi số xuất hiện một lần.
challenge icon

Câu hỏi mở rộng

Bạn có thể tìm mọi giá trị xuất hiện nhiều hơn n / 3 lần trong thời gian O(n) với bộ nhớ bổ sung O(1) không?

Đặt lại code
def majorityElement(nums):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Đối số

nums = [3, 9, 3, 3, 4]

Đầu ra mong đợi

3