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;
}
}