1、首先用一个循环先找到数组中的最大值和最小值,再用辗转相除法去求出最大值和最小值的最大公约数。
class Solution {
public:
int findGCD(vector<int>& nums) {
int thesize=nums.size();
int min=1001,max=1;
for(int i=0;i<thesize;++i)
{
if(nums[i]>max) max=nums[i];
if(nums[i]<min) min=nums[i];
}
int num=gcd(max,min);
return num;
}
int gcd(int a,int b)
{
return !b ? a: gcd(b,a%b);
}
};