力扣第255场周赛题目
https://leetcode-cn.com/problems/find-greatest-common-divisor-of-array/
给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
两个数的 最大公约数 是能够被两个数整除的最大正整数。
示例 1:
输入:nums = [2,5,6,9,10]
输出:2
解释:
nums 中最小的数是 2
nums 中最大的数是 10
2 和 10 的最大公约数是 2
当两数中大数除小数能整除时,小数即为两数间最大公约数;不能整除时可从大到小依次尝试,找出最大公约数。至于最大数和最小数将数组排序后取头尾即可。
class Solution {
public int findGCD(int[] nums) {
int flag = 0;
Arrays.sort(nums);
if(nums[nums.length - 1] % nums[0] == 0 ){
flag = nums[0];
}
if(nums[nums.length - 1] % nums[0] != 0){
for( int i = nums[0]; i >= 0 ;i--){
if(nums[0] % i == 0 && nums[nums.length - 1] % i == 0){
flag = i;
break;
}
}
}
return flag;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)