首页 > 编程语言 >【每日一算法】所有元素的 最大值 和 最大公约数 相等

【每日一算法】所有元素的 最大值 和 最大公约数 相等

时间:2024-06-04 20:32:04浏览次数:33  
标签:count arr 示例 int 最大值 最大公约数 算法 maxn 序列

题目描述

Silencer76 定义一个序列是 好序列 ,当且仅当序列中所有元素的 最大值最大公约数 相等。
给定一个长度为 n 的正整数序列 a ,请找出最长的符合好序列定义的子序列,输出它的长度。

输入描述:

输出描述:

示例一

输入

5
1 2 3 2 1

输出

2

示例说明:

根据题意,子序列中的元素的最大值和最大公约数要相等,其实我们根据示例不难看出,只有当两个数相等时,他的最大值和最大公约数才相等,如示例一中 1 2 3 2 1 ,1与1的最大值为1,最大公约数也为1,所以示例一中符合的子序列为 1 1  和 2 2  和 3 ,最长的子序列长度便为 2 。

思路:

所以本题的要求便是找出给定序列中最多的相同元素的个数。

我们可以先给所给序列排序,目的是为了将相同的元素放在一起,方便后面计数相同元素的个数。

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;

int main(){
    int n;
    int maxn = 0;
    int count = 1;
    cin>>n;
    
    int arr[n] = {0};
    for( int i = 0 ; i < n ; i++){
        cin>>arr[i];
    }
    sort( arr , arr + n );
    for( int i = 1 ; i < n ; i++ ){
        if( arr[i-1] == arr[i] ){
            count++;
        }else{
            maxn = max( maxn , count );
            count = 1;
            
        }
    }
    maxn = max( maxn , count );//注意在循环结束后要再判断一次,以免落下最后符合条件的子序列
    cout<<maxn;
    return 0;
    
}

标签:count,arr,示例,int,最大值,最大公约数,算法,maxn,序列
From: https://blog.csdn.net/Rosemary_b/article/details/139451439

相关文章

  • 常春藤算法(Ivy algorithm,LVYA)的复杂城市地形下无人机避障三维航迹规划,可以修改障碍物
    一、部分代码常春藤算法(Ivyalgorithm,LVYA)是MojtabaGhasemi等人于2024年提出智能优化算法。该算法模拟了常春藤植物的生长模式,通过协调有序的种群增长以及常春藤植物的扩散和演化来实现。常春藤植物的生长速率是通过微分方程和数据密集型实验过程建模的。该算法利用附近常春......
  • 蛇鹫优化算法(Secretary bird optimization algorithm,SBOA)的复杂城市地形下无人机避障
    一、部分代码蛇鹫优化算法(Secretarybirdoptimizationalgorithm,SBOA)由FuYoufa等人于2024年提出,该算法的灵感来自于蛇鹫在自然环境中的生存行为。参考文献:[1]FuY,LiuD,ChenJ,etal.Secretarybirdoptimizationalgorithm:anewmetaheuristicforsolvinggloba......
  • 代码随想录算法训练营day14(二叉树)
    代码随想录算法训练营day14(二叉树):学习内容:今天学习二叉树。二叉树节点标准写法(当前节点值,左右子节点,有点像链表节点的定义):structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(NULL),right(NULL){}};二......
  • 2024最新拼多多Java面试题(现场五面),全面涵盖Java高级到高并发,字节跳动java面试算法没
    总结其他的内容都可以按照路线图里面整理出来的知识点逐一去熟悉,学习,消化,不建议你去看书学习,最好是多看一些视频,把不懂地方反复看,学习了一节视频内容第二天一定要去复习,并总结成思维导图,形成树状知识网络结构,方便日后复习。这里还有一份很不错的《Java基础核心总结笔记》,......
  • AI烟火识别算法在消防安全与火灾预警系统中的应用与价值
    在信息化和智能化的今天,烟火识别算法作为一种重要的技术工具,在火灾预防和处理中发挥着关键作用。其工作原理主要基于深度学习和图像处理技术,能够实时分析监控画面,准确检测出图像中的烟火,并发出预警。一、烟火识别算法的工作原理烟火识别算法的工作原理主要基于深度学习和图像处......
  • 数据结构与算法-图
    图是由顶点(vertex)和边(edge)组成的一种数据结构。顶点代表图中的节点,边代表节点之间的关系。图可以分为有向图(directedgraph)和无向图(undirectedgraph)。有向图中的边有一个方向,而无向图中的边没有方向。常见的图算法包括广度优先搜索(BFS)、深度优先搜索(DFS)、拓扑排序(topologica......
  • 代码随想录算法训练营第四十六天|动态规划:完全背包理论基础、518.零钱兑换II、377. 组
    动态规划:完全背包理论基础文档讲解:代码随想录题目链接:52.携带研究材料(第七期模拟笔试)完全背包有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总......
  • 代码随想录算法训练营第四十九天| 139.单词拆分、多重背包
    139.单词拆分文档讲解:代码随想录题目链接:.-力扣(LeetCode)第一想法: 非空字符串s:背包非空单词的列表wordDict:物品每个物品可以使用多次,是一个完全背包问题看到这道题目的时候,大家应该回想起我们之前讲解回溯法专题的时候,讲过的一道题目回溯算法:分割回文串 (opens......
  • 代码随想录算法训练营第四十八天| 70. 爬楼梯(进阶版)、322. 零钱兑换、 279.完全平方数
     70.爬楼梯(进阶版)文档讲解:代码随想录题目链接:57.爬楼梯(第八期模拟笔试)我们之前做的爬楼梯是只能至多爬两个台阶。这次改为:一步一个台阶,两个台阶,三个台阶,.......,直到m个台阶。问有多少种不同的方法可以爬到楼顶呢?这又有难度了,这其实是一个完全背包问题。1阶,2阶,.........
  • 数据结构·查找算法
    查找1.顺序查找一般表(1)代码typedefstruct{ElemType*elem;inttableLen;}SSTable;intsearchSeq(SSTableST,ElemTypekey){ST.elem[e]=key;//设置哨兵for(inti=0;i<ST.tableLen;i++)returni;//存在返回,不存在返回1}(2)设......