| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 2022-05-25每日刷题打卡 -> 正文阅读 |
|
[C++知识库]2022-05-25每日刷题打卡 |
2022-05-25每日刷题打卡代码源——每日一题全部相等 - 题目 - Daimayuan Online Judge给定长度为 n 的数组 {A}。 派派非常喜欢 所有元素出现频率相同 的数组,但这样的数组却不常有。派派很伤心 (;′??Д??`)。不过聪明的你,发现总能从 {A} 中挑选一个子序列满足上述条件。问此子序列最长为多长? 数据规模1≤n≤2×105 输入格式输入包含两行,第一行有一个整数 n,表示 {A} 的大小。 接下来一行包含 n 个用空格分隔的整数,依次表示 A1,A2,?,An。 输出格式输出答案。 样例 1 输入
样例 1 输出
解释: [1,2,1,2] 满足条件且最长。 问题解析这题说的是要我们找一个子序列,而且只要子序列内的元素出现频率相等即可,那我们也不用考虑这些元素的先后顺序什么的了。 先把每个数的出现次数记录下来存入数组中并排序,比如样例就会变成:1、1、2、2。 此时问题就变成了:从我们的数组中选出一个数,让(大于等于这个数的个数*这个数)最大即可。 我们从前往后一个个推,因为我们按照升序排序,可以保证后面的数肯定比当前数大,我们拿样例举例来说: 第一个数是1,后面有三个大于等于它的数,加上自己,一共是四个,那么这个子序列的长度就可以是1*4=4。 第二个数是1,后面有两个大于等于它的数,加上自己,一共是三个,那么这个子序列的长度就可以是1*3=3。 第三个数是2,后面有一个大于等于它的数,加上自己,一共是二个,那么这个子序列的长度就可以是2*2=4。 第四个数是2,后面有零个大于等于它的数,加上自己,一共是一个,那么这个子序列的长度就可以是2*1=2。 那么子序列最长是4,可以是【1,2,1,2】,也可以是【1,2,3,4】 AC代码
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 17:03:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |