1394. Find Lucky Integer in an Array

A lucky integer is one that its interger value is the same as its frequency in the input array. Return the largets lucky integer or, if there isn’t one, return -1.

The solution is as follows:

from collections import Counter
 
class Solution:
    def findLucky(self, arr: List[int]) -> int:
        counts = Counter(arr)
        ans = -1
 
        for num, count in counts.items():
            if num == count:
                ans = max(ans, num)
 
        return ans

_ Time Complexity:

O(n) - We have to iterate through the entire input array.

_ Space Complexity:

O(n) - We store the frequency of each number in the input array.