JAVA数组中找数字

给定一个数组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;
    }
}