1979. Find Greatest Common Divisor of Array #
题目 #
- 给你一个整数数组
nums
,返回数组中最大数和最小数的 最大公约数 。 - 两个数的 最大公约数 是能够被两个数整除的最大正整数。
思路 #
模拟 #
代码 #
模拟 #
class Solution {
public int findGCD(int[] nums) {
int maximum = nums[0], minimum = nums[0];
for (int num: nums) {
maximum = Math.max(maximum, num);
minimum = Math.min(minimum, num);
}
int ans = 0;
for (int i = 1; i <= (int)Math.sqrt(minimum); i++) {
if (minimum % i == 0 && maximum % i == 0) ans = Math.max(i, ans);
if (minimum % (minimum / i) == 0 && maximum % (minimum / i) == 0) ans = Math.max((minimum / i), ans);
}
return ans;
}
}