1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Solution { public int maxDivScore(int[] nums, int[] divisors) { int max = 0, val = divisors[0]; Set<Integer> set = new HashSet<>(); for (int i = 0; i < divisors.length; ++i) { if (set.contains(divisors[i])) continue; set.add(divisors[i]); int count = 0; for (int j = 0; j < nums.length; ++j) { int num = nums[j]; if (nums[j] % divisors[i] == 0) ++count; } if (count > max || (count == max && divisors[i] < val)) { max = count; val = divisors[i]; } } return val; } }
|