最大公约数

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

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

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

示例 1:

1
2
3
4
5
6
输入:nums = [2,5,6,9,10]
输出:2
解释:
nums 中最小的数是 2
nums 中最大的数是 10
210 的最大公约数是 2

示例 2:

1
2
3
4
5
6
输入:nums = [7,5,6,8,3]
输出:1
解释:
nums 中最小的数是 3
nums 中最大的数是 8
38 的最大公约数是 1

示例 3:

1
2
3
4
5
6
输入:nums = [3,3]
输出:3
解释:
nums 中最小的数是 3
nums 中最大的数是 3
3 和 3 的最大公约数是 3

提示:

  • 2 <= nums.length <= 1000
  • 1 <= nums[i] <= 1000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
public int findGCD(int[] nums) {
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
for(int i = 0; i < nums.length; i++){
max = nums[i] > max ? nums[i] : max;
min = nums[i] < min ? nums[i] : min;
}
return gcd(max, min);
}

public int gcd(int num1, int num2){

while(num2 != 0){
int temp = num1 % num2;
num1 = num2;
num2 = temp;
}
return num1;
}

}

最大公约数
http://example.com/2023/06/05/算法/数学相关/1. 最大公约数/
作者
PALE13
发布于
2023年6月5日
许可协议