1979. 找出数组的最大公约数
给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
两个数的 最大公约数 是能够被两个数整除的最大正整数。
/**给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
两个数的 最大公约数 是能够被两个数整除的最大正整数。 */
class Solution {
//辗转相减法...
public int findGCD(int[] nums) {
int maxNum = nums[0],minNum = nums[0];
for(int num : nums){
//求出最值
maxNum = Math.max(maxNum,num);
minNum = Math.min(minNum,num);
}
return helper(maxNum,minNum);//调用函数...
}
private int helper(int numA, int numB){
int numC = Math.max(numA,numB),numD = Math.min(numA ,numB);
if(numC % numD!= 0){
return helper(numC - numD, numD);
}
return numD;
}
}