75 lines
1.6 KiB
Java
75 lines
1.6 KiB
Java
//给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
|
||
//
|
||
// 两个数的 最大公约数 是能够被两个数整除的最大正整数。
|
||
//
|
||
//
|
||
//
|
||
// 示例 1:
|
||
//
|
||
// 输入:nums = [2,5,6,9,10]
|
||
//输出:2
|
||
//解释:
|
||
//nums 中最小的数是 2
|
||
//nums 中最大的数是 10
|
||
//2 和 10 的最大公约数是 2
|
||
//
|
||
//
|
||
// 示例 2:
|
||
//
|
||
// 输入:nums = [7,5,6,8,3]
|
||
//输出:1
|
||
//解释:
|
||
//nums 中最小的数是 3
|
||
//nums 中最大的数是 8
|
||
//3 和 8 的最大公约数是 1
|
||
//
|
||
//
|
||
// 示例 3:
|
||
//
|
||
// 输入:nums = [3,3]
|
||
//输出:3
|
||
//解释:
|
||
//nums 中最小的数是 3
|
||
//nums 中最大的数是 3
|
||
//3 和 3 的最大公约数是 3
|
||
//
|
||
//
|
||
//
|
||
//
|
||
// 提示:
|
||
//
|
||
//
|
||
// 2 <= nums.length <= 1000
|
||
// 1 <= nums[i] <= 1000
|
||
//
|
||
// 👍 2 👎 0
|
||
|
||
package leetcode.editor.cn;
|
||
//1979:找出数组的最大公约数
|
||
class FindGreatestCommonDivisorOfArray{
|
||
public static void main(String[] args) {
|
||
//测试代码
|
||
Solution solution = new FindGreatestCommonDivisorOfArray().new Solution();
|
||
}
|
||
|
||
//力扣代码
|
||
//leetcode submit region begin(Prohibit modification and deletion)
|
||
class Solution {
|
||
public int findGCD(int[] nums) {
|
||
int max = Integer.MIN_VALUE;
|
||
int min = Integer.MAX_VALUE;
|
||
for (int num : nums) {
|
||
max = Math.max(max, num);
|
||
min = Math.min(min, num);
|
||
}
|
||
for (int i = min; i >= 1; i--) {
|
||
if (max % i == 0 && min % i == 0) {
|
||
return i;
|
||
}
|
||
}
|
||
return 1;
|
||
}
|
||
}
|
||
//leetcode submit region end(Prohibit modification and deletion)
|
||
|
||
} |