A.每日一题:1979. 找出数组的最大公约数

题目链接:1979. 找出数组的最大公约数(简单)

算法原理:

解法:最大公约数

1ms击败90.60%

时间复杂度O(N)

思路就很简单,先遍历一遍找到最大值和最小值(初始化可以根据题目范围来定),然后返回二者的最大公约数 GCD 即可

至于 GCD 的实现,可以参考👇

蓝桥杯关键知识点速记(用于写法速记)

D.二分查找-二分答案-第K小/第K大------878. 第 N 个神奇数字(提供了两种不同的写法)

Java代码:

java 复制代码
class Solution {
    //1979. 找出数组的最大公约数
    public int findGCD(int[] nums) {
        int min=1000,max=1;
        for(int x:nums){
            if(x>max) max=x;
            if(x<min) min=x;
        }
        return gcd(max,min);
    }
    private int gcd(int a,int b){
        return b==0?a:gcd(b,a%b);
    }
}
相关推荐
灵极海1 小时前
LangChain4j RAG 实战完整指南:从入门到踩坑
java·langchain
yaoxin5211231 小时前
476. Java 反射 - 调用方法
java·开发语言
HeiSenBerg1 小时前
LeakCanary 原理完整剖析:从初始化到堆分析
面试
猫头虎1 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
沉默王二1 小时前
腾讯面试官:“你说你做了一个终端Agent,那说说 LLM 和 Agent的区别,ReAct、MCP、Tool、Memory、Skills?”我信誓旦旦开始背了
面试·agent·腾讯
Ivanqhz2 小时前
Rust Lazy浅析
java·javascript·rust
长不胖的路人甲2 小时前
什么是赫夫曼树(哈夫曼树 / Huffman Tree)
python·算法·霍夫曼树
bksczm2 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪2 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm