LC每日一题|20240518 - 2644. 找出可整除性得分最大的整数
给你两个下标从 0 开始的整数数组
nums和divisors。
divisors[i]的 可整除性得分 等于满足nums[j]能被divisors[i]整除的下标j的数量。返回 可整除性得分 最大的整数
divisors[i]。如果有多个整数具有最大得分,则返回数值最小的一个。
提示:
1 <= nums.length, divisors.length <= 10001 <= nums[i], divisors[i] <= 10^9
题目等级:Easy
解题思路
很简单的一道遍历题,无需解释~
AC代码
class Solution {
fun maxDivScore(nums: IntArray, divisors: IntArray): Int {
var res = Int.MAX_VALUE
var count = 0
divisors.forEach { d ->
var cnt = 0
nums.forEach { n ->
if (n % d == 0) cnt++
}
if (cnt == count) res = Math.min(res, d)
if (cnt > count) {
count = cnt
res = d
}
}
return res
}
}
时间复杂度:O(mn)
空间复杂度:O(1)