竞赛
考级
思路: 输入n个数字,范围不超int,根据数字大小升序输出数字与它们的出现频率。 可以定义一个结构体,num记录数字,cnt记录出现频率,重载运算符<用于优先队列的比较。 n不必存储,输入的时候直接n--,然后将输入并存储好的map数组遍历存入优先队列q,因为是优先队列,不必排序,再遍历优先队列输出即可。 代码:
分析 这一题看上去就是用排序进行排列并统计每个数字出现了多少次,我的第一反应是用结构体。但是打了一半发现并没有很好打(但可以试试),所以不妨换个思路,先把数组进行排序(题目中输出有要求),再用一个计数器记录,如果发现有不一样的数就立刻输出并将计数器初始化(注意要从1开始,因为至少有一个数是连续的、单个的)以下是代码 上代码 所以说这题重要的还是找思路,思路找对就会很顺。我前面也是一直在找思路,卡了很多次才做对。
AC代码 欢迎加入团队
直接UPPER_BOUND-LOWER_BOUND秒了 #题解如下 不会MAP就用这个 无脑做法
该题可以用map来解决 具体步骤: 1.输入 2.输出 (你没听错,就是这么简单,map自动排序) AC图片: 最后献上AC代码:
提交答案之后,这里将显示提交结果~