【PTA】​L1-034 点赞(C++)

题目链接: L1-034 点赞 - 团体程序设计天梯赛-练习集 (pintia.cn)

目录:

目录:

题目要求: 

输入格式:

输出格式:

输入样例:

输出样例:

 思路:

代码:

测试结果: 


题目要求: 

微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。本题就要求你写个程序,通过统计一个人点赞的纪录,分析这个人的特性。

输入格式:

输入在第一行给出一个正整数N(≤1000),是该用户点赞的博文数量。随后N行,每行给出一篇被其点赞的博文的特性描述,格式为“K F1​⋯FK​”,其中1≤K≤10,Fi​(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从1到1000编号。数字间以空格分隔。

输出格式:

统计所有被点赞的博文中最常出现的那个特性标签,在一行中输出它的编号和出现次数,数字间隔1个空格。如果有并列,则输出编号最大的那个。

输入样例:

4
3 889 233 2
5 100 3 233 2 73
4 3 73 889 2
2 233 123

输出样例:

233 3

 思路:

这个程序是一个简单的计数程序,用于找出在给定的一系列数字中,哪个数字出现的次数最多,并输出这个数字以及它出现的次数。程序使用了一个大小为1001的数组来记录每个数字出现的次数,然后遍历这个数组找出出现次数最多的数字。

让我们逐步分析代码:

头文件、命名空间:这包括了几乎所有的标准库,并使用了 std 命名空间,定义一个常量N,值为1001,定义数组的最大长度。

#include <bits/stdc++.h>  
using namespace std;

主函数:这是程序的入口点。

int main()

{

       ....

}

声明变量:这里声明了四个整数变量:n用于存储输入的组数,idx是一个大小为1001的数组,用于存储数字0到1000出现的次数(初始化为0),max用于存储数字出现的最大次数(初始化为0),x用于临时存储输入的每个数字。

int n;  
int idx[1001] = {0};  
int max = 0;  
int x;

* `n`:表示将要输入的组数。  
* `idx[1001]`:一个数组,用于存储从0到1000的整数出现的次数。  
* `max`:用于存储出现次数最多的次数。  
* `x`:用于临时存储输入的整数。 

输入组数:程序首先读入一个整数n,表示接下来有n组输入。如果n为0,则程序直接返回。

cin >> n;  
if(n == 0)  
    return 0;

处理每组输入:这是一个while循环,用于处理n组输入。对于每一组输入,首先读入一个整数k,表示接下来要读入k个数字。然后,通过一个for循环读入这k个数字,并将每个数字xidx数组中的对应位置加1,以记录这个数字出现的次数。 

while(n--)  
{  
    int k;  
    cin >> k;  
    for(int i = 0; i < k; i++)  
    {  
        cin >> x;  
        idx[x] ++;  
    }   
}

* 对于每组输入,首先读取一个整数 `k`,表示接下来要输入的整数数量。

* 然后,对于这 `k` 个整数,每个整数 `x` 被读取,并增加 `idx[x]` 的值,即增加 `x` 出现的次数。 

找出出现次数最多的数字:这个for循环遍历idx数组,找出出现次数最多的数字以及这个数字出现的次数。t用于存储出现次数最多的数字,max用于存储这个数字出现的次数。

int t = 0;  
for(int i = 0; i < 1001; i++)  
{  
    if(idx[i] >= max)  
    {  
        max = idx[i];  
        t = i;  
    }  
}

* 遍历 `idx` 数组,找出出现次数最多的整数 `t` 和其出现次数 `max`。 

输出结果:最后,程序输出出现次数最多的数字t以及这个数字出现的次数max

cout << t << " " << max << endl;

注意: 

  • 这个程序只考虑了0到1000的整数。如果输入的整数超出了这个范围,程序可能不会正常工作。
  • 数组 idx 的大小是固定的(1001),这意味着程序不能处理超过这个范围的整数。如果需要处理更大的整数,需要修改数组的大小或使用其他数据结构,如 unordered_map

代码:

#include <bits/stdc++.h>

using namespace std;

int main()
{

    int n;
    int idx[1001] = {0};
    int max = 0;
    int x;
    cin >> n;
    if(n == 0)
        return 0;
    while(n--)
    {
        int k;
        cin >> k;
        
        for(int i = 0; i < k; i++)
        {
            cin >> x;
            idx[x] ++;
        } 
    }
    int t = 0;
    for(int i = 0; i < 1001; i++)
    {
        if(idx[i] >= max)
        {
            max = idx[i];
            t = i;
        }
    }
    cout << t << " " << max << endl;
    return 0;
}

测试结果: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/460542.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

git下载及基础

git学习教程&#xff1a;【【GeekHour】一小时Git教程】 https://www.bilibili.com/video/BV1HM411377j/?share_sourcecopy_web&vd_source1a32dd27a726236a74603cf06b7302aa 1. 下载 官网&#xff1a;https://git-scm.com/ 终端输入 git -v 能看到版本信息表示安装成功…

最新开源解密版TwoNav网址导航系统源码

源码简介 2024最新开源解密版TwoNav网址导航系统源码去授权破解版 内置二十多套主题模板。 已去授权&#xff0c;最新开源解密版。TwoNav 是一款开源的书签&#xff08;导航&#xff09;管理程序&#xff0c;使用PHP SQLite 3开发&#xff0c;界面简洁&#xff0c;安装简单&…

【MySQL】4. 表的操作

表的操作 1. 创建表 语法&#xff1a; CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;说明&#xff1a; field 表示列名 datatype 表示列的类型 character set 字符集&#xff0c…

springcloud:4.1 GateWay

概述 Gateway 简介 Spring Cloud Gateway基于Spring 5.0、SpringBoot 2.0和Project Reactor等技术开发 旨在为微服务架构提供一种简单有效的、统一的API路由管理方式&#xff0c;并为微服务架构提供安全、监控、指标和弹性等功能 其目标是替代Zuul特点 易于编写谓词和过滤器&…

1.2 课程架构介绍:STM32H5 芯片生命周期管理与安全调试

1.2 课程架构介绍&#xff1a;STM32H5 芯片生命周期管理与安全调试 下面开始学习课程的第二节&#xff0c;简单介绍下STM32H5芯片的生命周期和安全调试&#xff0c;具体课程大家可以观看STM32官方录制的课程&#xff0c;链接&#xff1a;1.2. 课程架构介绍&#xff1a;STM32H5…

免费阅读篇 | 芒果YOLOv8改进109:注意力机制SimAM:用于卷积神经网络的简单、无参数注意力模块

免费阅读篇|芒果YOLOv8改进109&#xff1a;注意力机制篇SimAM&#xff1a;用于卷积神经网络的简单、无参数注意力模块 &#x1f4a1;&#x1f680;&#x1f680;&#x1f680;本博客 改进源代码改进 适用于 YOLOv8 按步骤操作运行改进后的代码即可 该专栏完整目录链接&#x…

【AIGC调研系列】通义灵码与copilot的对比

通义灵码与GitHub Copilot的对比主要集中在几个方面&#xff1a;代码编写能力、免费性、操作界面和适配性。 首先&#xff0c;在代码编写能力上&#xff0c;虽然GitHub Copilot在整体上要强于通义灵码&#xff0c;但通义灵码的能力也不算弱&#xff0c;并且在某些特定的小类任…

外卖平台订餐流程架构的实践

当我们想要在外卖平台上订餐时&#xff0c;背后其实涉及到复杂的技术架构和流程设计。本文将就外卖平台订餐流程的架构进行介绍&#xff0c;并探讨其中涉及的关键技术和流程。 ## 第一步&#xff1a;用户端体验 用户通过手机应用或网页访问外卖平台&#xff0c;浏览菜单、选择…

服务器遭遇挖矿病毒syst3md及其伪装者rcu-sched:原因、症状与解决方案

01 什么是挖矿病毒 挖矿病毒通常是恶意软件的一种&#xff0c;它会在受感染的系统上无授权地挖掘加密货币。关于"syst3md"&#xff0c;是一种特定的挖矿病毒&#xff0c;它通过在受感染的Linux系统中执行一系列复杂操作来达到其目的。这些操作包括使用curl从网络下载…

stm32-定时器输出比较PWM

目录 一、输出比较简介 二、PWM简介 三、输出比较模式实现 1.输出比较框图(以通用定时器为例) 2.PWM基本结构 四、固件库实现 1.程序1&#xff1a;PWM呼吸灯 2.程序2&#xff1a;PWM驱动直流电机 3.程序3&#xff1a;控制舵机 一、输出比较简介 死区生成和互补输出一般…

计算机网络——物理层(奈氏准则和香农定理)

计算机网络——物理层&#xff08;奈氏准则和香农定理&#xff09; 失真码间串扰奈氏准则&#xff08;奈奎斯特定理&#xff09;极限数据率 噪声信噪比香农定理奈氏准则和香农定理的区别 前面我们已经了解一些数据通信的基本知识&#xff0c;没有看过上一篇得小伙伴可以点击这里…

2024最新小狐狸AI 免授权源码

后台安装步骤&#xff1a; 1、在宝塔新建个站点&#xff0c;php版本使用7.2 、 7.3 或 7.4&#xff0c;把压缩包上传到站点根目录&#xff0c;运行目录设置为/public 2、导入数据库文件&#xff0c;数据库文件是 /db.sql 3、修改数据库连接配置&#xff0c;配置文件是/.env 4、…

每日一题——LeetCode1684.统计一致字符串的数目

方法一 Set()双层for循环遍历 将allowd放入Set集合中&#xff0c;遍历words每一项的每一个字符看是否有allowd不含有的字符 var countConsistentStrings function(allowed, words) {let set new Set(allowed),count0for(let word of words){for(let char of word){if(!set.…

redis 入门01

1.安装与配置 在官网下压缩包并传送给自己的虚拟机或者使用wget直接下载都可以 注意:redis是运行在linux下的基于内存的kv键值对数据库 安装与配置参考 2.经典Hello World 注意设置redis在后台运行,默认是前台进行的 我们配置完成之后首先启动服务器 redis-server 配置文件 这里…

从混沌到秩序——90年代中国数据库的激烈角逐

引言 在数字化浪潮的推动下&#xff0c;数据库技术已成为支撑数字经济的坚实基石。腾讯云TVP《技术指针》联合《明说三人行》特别策划的直播系列——【中国数据库前世今生】&#xff0c;我们将通过五期直播&#xff0c;带您穿越五个十年&#xff0c;深入探讨每个时代的数据库演…

uniapp 跳转返回携带参数(超好用)

天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.返回界面 uni.$emit(enterPeople, this.entryList)uni.navigateBack({delta: 1}) 2.返回到的界面&#xff08;接收数据界面&#xff09; onShow() {let that thisuni.$on(enterPeople,function(enterPeopledata){console.…

自习室预订系统|基于springboot框架+ Mysql+Java+B/S架构的自习室预订系统设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 学生功能模块 管理员功能登录前台功能效果图 系统功能设计 数据库E-R图设计 lunwen参…

蓝桥真题——-小蓝重组质数(全排列和质数判断)

小蓝有一个十进制正整数n&#xff0c;其不包含数码0&#xff0c;现在小蓝可以任意打乱数码的顺序&#xff0c;小蓝想知道通过打乱数码顺序,n 可以变成多少个不同的质数。 #include <iostream> #include<bits/stdc.h> using namespace std; bool isprime(int n) {if…

51单片机LED8*8点阵显示坤坤跳舞打篮球画面

我们作为一名合格的 ikun&#xff0c;专业的小黑子&#xff0c;这个重要的知识必须学会。 先看效果&#xff1a; 51LED点阵_鸡你太美 这里我们首先要用到延时函数Delay&#xff1a; void Delay(unsigned int xms) {unsigned char i, j;while(xms--){ i 2;j 239;do{while (-…

NodeJs利用腾讯云实现手机发送验证码

本文介绍如何在nodejs实现短信发送&#xff0c;以腾讯云的短信验证为例。 腾讯云中准备工作 首先需要腾讯云的个人或者企业认证的账号&#xff0c;个人会赠送一百条&#xff0c;企业赠送一千条&#xff0c;可以用于测试&#xff0c;地址&#xff1a;腾讯云短信服务。然后需要…