1979. Find Greatest Common Divisor of Array

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;
    }
}

致谢 #

flix