aboutsummaryrefslogtreecommitdiff
path: root/find_lucky_integer_array.py
blob: 078ea769ef553f7af97641a0dbfcd2bd294094ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 1394. Find Lucky Integer in an Array
from collections import Counter

"""
given an array of integers 'arr', a lucky integer is an integer equal that
has a frequency in the array equal to its value. return the largest lucky
integer in the array. if there is no lucky integer, return -, a lucky integer
is an integer equal that has a frequency in the array equal to its value.
return the largest lucky integer in the array. if there is no lucky integer,
return -1
"""


class Solution(object):
    def findLucky(self, arr):
        """
        :type arr: List[int]
        :rtype: int
        """
        cnt = Counter(arr)
        return max([i for i, j in cnt.items() if i == j] + [-1])


if __name__ == "__main__":
    obj = Solution()
    print(obj.findLucky(arr=[2, 2, 3, 4]))
    print(obj.findLucky(arr=[1, 2, 2, 3, 3, 3]))
    print(obj.findLucky(arr=[2, 2, 2, 3, 3]))