给定一个数组arr。我们定义数组中的幸运数字满足以下条件:在这个数左边存在比这个数大的ai,右边存在比这个数小的aj。我们取aj,最大的记为f,取ai,最小的记为g。若f/g是整数,我们认为这个数字是幸运的。求该数组中有几个幸运的数。
class Solution {
public int findLucky(int[] arr) {
int[] cnt = new int[501];
for (int i : arr) cnt[i]++;
for (int i = 500; i > 0; i--) {
if (cnt[i] == i) return i;
}
return -1;
}
}