当前位置:网站首页 > 经验分享 > 正文

找出数组中最大和最小的数字

要求

给你一个整数数组 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

核心代码

class Solution: def findGCD(self, nums: List[int]) -> int: max_ = max(nums) min_ = min(nums) x = gcd(max_, min_) return x 

第二种解法

class Solution: def findGCD(self, nums: List[int]) -> int: max_ = max(nums) min_ = min(nums) return self.my_gcd(max_, min_) def my_gcd(self, a: int, b: int) -> int: while b > 0: tmp = a % b a = b b = tmp return a 

image.png

解题思路:第一种解法:我们直接调库gcd进行操作,求得最大公约数;第二种解法:我们不断的循环取余的操作得到最大公约数,手动写gcd。

版权声明


相关文章:

  • php面试题目100及最佳答案2025-06-29 18:30:02
  • 原码是什么,怎么表示2025-06-29 18:30:02
  • 数据分析师如何做好数据分析2025-06-29 18:30:02
  • Linux磁盘分区消失怎么恢复2025-06-29 18:30:02
  • frpc服务器2025-06-29 18:30:02
  • 操作系统中断处理步骤2025-06-29 18:30:02
  • 表单form的基本语法2025-06-29 18:30:02
  • linux6.5防火墙关闭命令2025-06-29 18:30:02
  • jdk源码解析2025-06-29 18:30:02
  • js多线程如何简单实现2025-06-29 18:30:02