当前位置: 首页 > news >正文

力扣:1979. 找出数组的最大公约数(Java)

目录

  • 题目描述:
  • 输入:
  • 输出:
  • 代码实现:

题目描述:

给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。
两个数的 最大公约数 是能够被两个数整除的最大正整数。

输入:

nums = [2,5,6,9,10]

输出:

2
解释:
nums 中最小的数是 2
nums 中最大的数是 10
2 和 10 的最大公约数是 2

代码实现:

class Solution {public int findGCD(int[] nums) {/** 排序,再调用最大公约数函数* Arrays.sort(nums);* return gcd(nums[nums.length - 1], nums[0]);*///不排序,打擂台的形式int max = nums[0];// 求最大值int min = nums[0];// 最最小值for (int i = 0; i < nums.length; i++) {// 遍历一次,得到最大最小max = Math.max(max, nums[i]);min = Math.min(min, nums[i]);}return gcd(max, min);// 调用最大公约数函数}public int gcd(int a, int b) {/*第一种方法:递归* if (a == 0) {//递归出口* return b;* }* if (b == 0) {//递归出口* return a;* }* return gcd(b, a % b);//辗转相除法:gcd(a,b) = gcd(b,a%b)*///第二种方法:正常辗转相除int remainder = -1;// 余数while (remainder != 0) {// 余数为0跳出循环remainder = a % b;// 计算余数a = b;// 被除数变余数b = remainder;// 余数变除数}return a;// 返回最后一轮的被除数}
}
http://www.lryc.cn/news/343746.html

相关文章:

  • 电瓶车充电桩:潜藏的暴利行业,简单入门到月入万元!
  • mac监听 linux服务器性能可视化(Grafana+Promethus+Node_exporter)
  • 【负载均衡在线OJ项目日记】运行功能开发
  • Qt | QLineEdit 类(行编辑器)
  • Mamba结构的Demo源码解读
  • 金仓面对面 | 人大金仓×安硕信息共话金融信用风险管理数字化转型之道
  • JavaScript值类型与引用类型的区别
  • 每日一博 - 闲聊架构设计中的多级缓存设计
  • 轻松实现MySQL集群配置:一主一从与一主多从教程
  • Leetcode刷题-(41~45)-Java
  • 【Android】源码解析Activity的结构分析
  • 小猪APP分发:重塑应用分发市场的创新力量
  • 区块链 | IPFS 工作原理入门
  • 减速机齿数速算
  • 2万字长文:海豚调度器(DolphinScheduler)面试题深入了解
  • 全双工音频对讲模块-支持空中升级、多级无线中继
  • Spring扩展点(二)Spring事务生命周期
  • foobar2000 for Mac:卓越音乐播放器
  • 【自动驾驶|毫米波雷达】初识毫米波雷达射频前端硬件
  • 实战BACnet/IP标准通信网关在楼宇自动化中的应用
  • 设计模式的原则与分类
  • 在ubuntu虚拟机中手动安装VMware Tools(VMware Workstation 17 player)
  • 十个数据安全最佳实践:保护数据的简单方法
  • 【leetcode】二分搜索题目总结
  • 六西格玛项目的核心要素:理论学习、实践应用与项目经验
  • 21-ESP32-S3实时时钟(RTC)
  • 17.接口自动化学习-日志
  • python直接发布到网站wordpress之二发布图片
  • Messari 报告摘要 :Covalent Network(CQT)2024 年第一季度表现
  • PGP加密技术:保护信息安全的利器