# LeetCode 1150. Check If a Number Is Majority Element in a Sorted Array

## Description

https://leetcode.com/problems/check-if-a-number-is-majority-element-in-a-sorted-array/

Given an array `nums` sorted in non-decreasing order, and a number `target`, return `True` if and only if `target` is a majority element.

majority element is an element that appears more than `N/2` times in an array of length `N`.

Example 1:

```Input: nums = [2,4,5,5,5,5,5,6,6], target = 5
Output: true
Explanation:
The value 5 appears 5 times and the length of the array is 9.
Thus, 5 is a majority element because 5 > 9/2 is true.
```

Example 2:

```Input: nums = [10,100,101,101], target = 101
Output: false
Explanation:
The value 101 appears 2 times and the length of the array is 4.
Thus, 101 is not a majority element because 2 > 4/2 is false.
```

Constraints:

• `1 <= nums.length <= 1000`
• `1 <= nums[i] <= 10^9`
• `1 <= target <= 10^9`

## Explanation

Count element occurrences and check if the target element meets the major element criteria.

## Python Solution

``````class Solution:
def isMajorityElement(self, nums: List[int], target: int) -> bool:
counter = {}

for num in nums:
counter[num] = counter.get(num, 0) + 1

return target in counter and (counter[target] > len(nums) // 2)
``````
• Time Complexity: O(N).
• Space Complexity: O(N).