1394. Find Lucky Integer in an Array

1394. Find Lucky Integer in an Array #

题目 #

在整数数组中,如果一个整数的出现频次和它的数值大小相等,则称此整数为 幸运数

给定整数数组 arr,从中找出并返回一个幸运数。

若数组中存在多个幸运数,则返回最大的那个。若数组中不含幸运数,返回 -1

思路 #

代码 #

class Solution {
    public int findLucky(int[] arr) {
        Map<Integer, Integer> map = new HashMap<>();
        for (int num: arr) map.put(num, map.getOrDefault(num, 0) + 1);
        int maxLucky = -1;
        for (Integer x: map.keySet()) if (map.get(x) == x) maxLucky = Math.max(x, maxLucky);
        return maxLucky;
    }
}