1287. Element Appearing More Than 25% In Sorted Array
Given an integer array sorted in non-decreasing order, there is exactly one integer in the array that occurs more than 25% of the time, return that integer.
Example 1:
Example 2:
Constraints:
1 <= arr.length <= 1040 <= arr[i] <= 105
Solution:
class Solution {
public int findSpecialInteger(int[] arr) {
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < arr.length; i++){
map.put(arr[i], map.getOrDefault(arr[i], 0) + 1);
if (map.get(arr[i]) > arr.length/4){
return arr[i];
}
}
return -1;
}
}
// TC: O(n)
// SC: O(n)