欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2024/7/5 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LeetCode 1979. 找出数组的最大公约数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

    • 1. 题目
    • 2. 解题

1. 题目

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

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

示例 1: 输入:nums = [2,5,6,9,10] 输出:2 解释: nums 中最小的数是 2 nums 中最大的数是 10 210 的最大公约数是 2示例 2: 输入:nums = [7,5,6,8,3] 输出:1 解释: nums 中最小的数是 3 nums 中最大的数是 8 38 的最大公约数是 1示例 3: 输入:nums = [3,3] 输出:3 解释: nums 中最小的数是 3 nums 中最大的数是 3 33 的最大公约数是 3提示: 2 <= nums.length <= 1000 1 <= nums[i] <= 1000

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-greatest-common-divisor-of-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution:def findGCD(self, nums: List[int]) -> int:nums.sort()return math.gcd(nums[0], nums[-1])

36 ms 15.1 MB Python3

class Solution { public:int findGCD(vector<int>& nums) {sort(nums.begin(), nums.end());return __gcd(nums[0], nums.back());} };

4 ms 12.1 MB C++

class Solution { // 自己实现gcd public:int findGCD(vector<int>& nums) {sort(nums.begin(), nums.end());return mygcd(nums[0], nums.back());}int mygcd(int x, int y){int r;while(y){r = x%y;x = y;y = r;}return x;} };

我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

总结

以上是生活随笔为你收集整理的LeetCode 1979. 找出数组的最大公约数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。