1979. 找出数组的最大公约数

给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。

两个数的 最大公约数 是能够被两个数整除的最大正整数。

2 <= nums.length <= 1000
1 <= nums[i] <= 1000

思路是先遍历数组,找出最大值和最小值,之后用辗转相除法求出最大公约数:

class Solution {
public:
    int findGCD(vector<int>& nums) {
        int max = 0, min = 1000;

        for (int i : nums) {
            if (i > max) {
                max = i;
            }

            if (i < min) {
                min = i;
            }
        }

        while (min) {
            int remainder = max % min;
            max = min;
            min = remainder;
        }

        return max;
    }
};
posted @ 2021-08-31 23:52  epiphanyy  阅读(37)  评论(0)    收藏  举报  来源