intfindGCD(int* nums, int numsSize){ int i; int min = INT_MAX, max = INT_MIN;
// 找到最大值和最小值 for (i = 0; i < numsSize; i++) { if (nums[i] > max) max = nums[i]; if (nums[i] < min) min = nums[i]; } // 最大公约数的 最大可能值 = 最小值 // 所以 i 从 min 开始 for (i = min; i > 0; i--) { if (max % i == 0 && min % i == 0) return i; }