当前位置: 首页 > news >正文

OpenJudge | 字符串中最长的连续出现的字符

总时间限制: 1000ms 内存限制: 65536kB

描述

求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和tab),如果这样的字符不止一个,则输出第一个

输入

首先输入N,即测试数据的组数
每组测试数据输入:
一行,一个不包含空白字符的字符串,字符串长度小于200

输出

一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开

样例输入

2
aaaaabbbbbcccccccdddddddddd
abcdefghigk

样例输出

d 10
a 1

思路

遍历字符串,记录当前字符和出现次数,如果当前字符和上一个字符相同,次数加一,否则比较当前次数和最大次数,如果当前次数大于最大次数,更新最大次数和字符,最后输出最大次数和字符。

其实,一开始我想使用map来解决,但是碰到了一些记录上的问题,所以最后还是使用了pair来解决。用map倒像是将问题复杂化了。

这其实就是一个简单的遍历+获取最大值的问题。

感谢xcdq的博文

Code

C++

#include <bits/stdc++.h>
using namespace std;int main() {int N;cin >> N;for(int i = 1; i <= N; i++) {string str;pair<char, int> tmp (0, 0), max (0, 0);cin >> str;for(long long unsigned int j = 0; j < str.size(); j++) {if(tmp.first == str[j]) tmp.second++;else {if(tmp.second > max.second) {max.second = tmp.second;max.first = tmp.first;}tmp.second = 1;tmp.first = str[j];}}if(tmp.second > max.second) {max.second = tmp.second;max.first = tmp.first;}cout << max.first << " " << max.second << endl;}
}

C

#include <stdio.h>
#include <string.h>int main() {int N;scanf("%d", &N);for(int i = 1; i <= N; i++) {char str[200];char tmp = 0, max = 0;int count = 0, max_count = 0;scanf("%s", str);for(int j = 0; j < strlen(str); j++) {if(tmp == str[j]) count++;else {if(count > max_count) {max_count = count;max = tmp;}count = 1;tmp = str[j];}}if(count > max_count) {max_count = count;max = tmp;}printf("%c %d\n", max, max_count);}
}

相关文章:

OpenJudge | 字符串中最长的连续出现的字符

总时间限制: 1000ms 内存限制: 65536kB 描述 求一个字符串中最长的连续出现的字符&#xff0c;输出该字符及其出现次数&#xff0c;字符串中无空白字符&#xff08;空格、回车和tab&#xff09;&#xff0c;如果这样的字符不止一个&#xff0c;则输出第一个 输入 首先输入N…...

11day-C++list容器使用

这里写目录标题 1. list的介绍及使用1.1 list的介绍1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2. list的模拟实现2.1 list的反向迭代器 1. list的介绍及使用 1.1 list的介绍 list的…...

docker 常用管理命令及数据备份

docker 常用管理命令及数据备份 常用管理命令 重启 cd share docker compose restart 停止 cd share docker compose stop 启动 cd share ./deploy.sh 升级 cd share ./deploy.sh 查看日志 cd share docker compose logs -f 数据备份 以下备份相关命令均要求在doc…...

前端开发:Vue2.0桌面组件库-Element

引入Element的步骤&#xff1a; 1.在vscode终端中执行命令&#xff08;需要联网&#xff09; 下载成功 2.在main.js中导入element.ui组件库。 同上&#xff0c;自定义的组件需要先在根组件中引入。 3.访问官网&#xff0c;复制调整代码...

Java常见的面试二

1、普通类和抽象类有那些区别 普通类中不能有抽象方法&#xff0c;抽象类中可以有抽象方法普通类可以直接实例化&#xff0c;抽象类不能直接实例化 2、抽象类能够使用final修饰吗 不能&#xff0c;抽象类是由子类继承的&#xff0c;但是final修饰的类不能被继承。两者矛盾所以…...

【Qt】QLCDNumberQProgressBarQCalendarWidget

目录 QLCDNumber 倒计时小程序 相关属性 QProgressBar 进度条小程序 相关设置 QLCDNumber QLCDNumber是Qt框架中用于显示数字或计数值的小部件。通常用于显示整数值&#xff0c;例如时钟、计时器、计数器等 常用属性 属性说明intValueQLCDNumber显示的初始值(int类型)va…...

C++ 代码实现局域网即时通信功能 (windows 系统 客户端)

本项目使用C实现具备多个客户端和服务器端即时通信聊天功能软件 一&#xff1a;项目内容 使用C实现一个具备多客户端和一个服务器端即时通信功能的聊天软件。 本项目的目的是 学习在windows平台下&#xff0c;进行C网络开发的基本概念&#xff1a;TCP/IP socket通信&#xff0…...

机器人阻抗控制实现方法及其存在的科学问题

一、机器人阻抗控制的实现方法 机器人阻抗控制主要分为两种方法:基于位置的阻抗控制和基于力的阻抗控制。 基于位置的阻抗控制: 工作原理:让机器人电机在位置模式下工作,通过发送目标位置和速度实现阻抗特性。主要目的:控制机器人的位置精度和运动轨迹。特点:该方法侧重…...

解决:xxx.xxx/res/modules/.ds_store: error: the file name must end with .xml 问题

解决&#xff1a;xxx.xxx/res/modules/.ds_store: error: the file name must end with .xml 问题 该问题是由于Android Studio校验到布局文件中存在不以.xml后缀名结尾的文件&#xff0c;这个文件就是.DS_store&#xff0c;它是Mac上系统自动创造的隐藏文件&#xff0c;把该文…...

EEtrade:区块链技术的五大应用场景

区块链技术&#xff0c;作为近年来备受瞩目的颠覆性技术&#xff0c;其去中心化、透明化、安全性和可追溯性等特性&#xff0c;为各行各业带来了前所未有的机遇。从数字货币到金融资产交易结算&#xff0c;从数字政务到存证防伪&#xff0c;再到数据服务&#xff0c;区块链正逐…...

DAO、DPO、DTO、POJO、VO、BO、EBO

目录 1. DAO (Data Access Object) 2. DPO (Data Persistence Object) 3. DTO (Data Transfer Object) 4. POJO (Plain Old Java Object) 5. VO (Value Object) 6. BO (Business Object) 7. EBO (Entity Bean Object) 在Java开发中&#xff0c;尤其是与数据访问和对象映…...

数据库期末复习

数据库期末复习 分析题 1 &#xff08;1&#xff09;使用数据库系统可以大大提高应用开发的效率&#xff0c;方便用户的使用减轻数据库系统管理人员维护的负担&#xff0c;请回答数据库系统有哪些部分组成&#xff1f;什么是数据库管理系统&#xff0c;其主要功能包括哪些方而&…...

pyinstaller带浏览器一起打包playwright 独立运行exe

前置条件 没有安装自带环境&#xff0c;则 playwright install 安装了自带的浏览器 查看playwright的浏览器的位置 playwright install --dry-run 打开此文件夹可以看到 新建一个多层级目录playwright\driver\package.local-browsers 然后复制chromium-1124到playwright\dr…...

docker添加容器服务所需字体

1、在宿主机新建chinese目录 [rootHS-AP-application ~]#mkdir /usr/share/fonts/chinese 2、上传字体 把windows c盘下的Windows/Fonts下的所有字段上传至/usr/shared/fonts/chinese 3、授权chinese目录 chmod -R 755 /usr/share/fonts/chinese 4、生成fonts.scale文件 …...

Java面试八股之Spring AOP 和 AspectJ AOP 的区别

Spring AOP 和 AspectJ AOP 的区别 Spring AOP 和 AspectJ AOP 是两种不同的面向切面编程&#xff08;Aspect-Oriented Programming, AOP&#xff09;实现。它们各有特点&#xff0c;适用于不同的场景。下面是一些主要的区别&#xff1a; 1. 实现机制 Spring AOP: 基于代理…...

Java人力资源招聘社会校招类型招聘系统PC端

&#x1f50d;【揭秘】人力资源新利器&#xff01;社会校招一站式PC端招聘系统全攻略&#x1f680; &#x1f308; 开篇引言&#xff1a;招聘新纪元&#xff0c;效率为王&#xff01; Hey小伙伴们&#xff0c;你是否还在为繁琐的招聘流程头疼不已&#xff1f;&#x1f92f; 面…...

C# 知识点总结

入门 C#程序在.NET上运行&#xff0c;.NET framework包含两个部分&#xff1a; ①&#xff1a;.NET framework类库 ②&#xff1a;公共语言运行库CLR&#xff08;.NET虚拟机&#xff09; CLS&#xff08;公共语言规范&#xff09; CTS&#xff08;通用类型系统&#xff09; .N…...

【ffmpeg命令入门】视频的旋转与翻转

文章目录 前言什么时候需要使用旋转与翻转1. 视频拍摄方向不正确2. 视频编辑特效使用什么参数1. 旋转视频 - transpose2. 水平翻转视频 - hflip3. 垂直翻转视频 - vflip 总结 前言 在视频编辑的过程中&#xff0c;我们经常会遇到需要旋转或翻转视频的情况。无论是因为拍摄时相…...

学懂C语言(二十五):深入理解 C语言结构体 位域 的概念

目录 一、位域的基本概念 二、位域的定义 三、位域的内存分配和大小计算 示例1&#xff1a;简单位域 示例2&#xff1a;跨越多个存储单元 注意事项 结构体对齐控制 总结 C语言中的位域&#xff08;Bit-Field&#xff09;是一种特殊的数据结构&#xff0c;允许在结构体中…...

LLM推理优化——KV Cache篇(百倍提速)

LLM推理优化——KV Cache篇&#xff08;百倍提速&#xff09; 注意&#xff1a;KV Cache本质上是空间换时间的技术。与计算机组成原理中的cache不同&#xff0c;它不涉及访存优化。 不知道大家在用LLM的时候&#xff0c;有没有注意到一个问题&#xff1a;我们在输入我们的问题…...

S03TodoWrite - 任务规划:没有计划的 Agent 会迷失方向

核心理念 “没有计划的 Agent 走哪算哪” – 先列步骤再动手&#xff0c;完成率翻倍。 源码&#xff1a;https://github.com/xiayongchao/learn-claude-code-4j/blob/main/src/main/java/org/jc/agents/S03TodoWrite.java原版&#xff1a;https://github.com/shareAI-lab/lea…...

Java多线程实战:ReentrantLock与信号量Semaphore的5个高频使用场景解析

Java多线程实战&#xff1a;ReentrantLock与信号量Semaphore的5个高频使用场景解析 在Java并发编程领域&#xff0c;ReentrantLock和Semaphore是两个至关重要的同步工具。它们虽然都属于JUC&#xff08;java.util.concurrent&#xff09;包中的并发控制机制&#xff0c;但设计理…...

赛美特冲刺港股:年营收7亿,刚完成8亿融资,估值73亿

雷递网 雷建平 3月31日赛美特信息集团股份有限公司&#xff08;简称&#xff1a;“赛美特”&#xff09;日前更新招股书&#xff0c;准备在港交所上市。赛美特成立以来获得多次融资&#xff0c;其中&#xff0c;2023年4月完成2.33亿元融资&#xff0c;投后估值62.33亿&#xff…...

编程小白的第一课:用快马AI零代码基础创建个人技能展示网站

作为一个刚接触编程的新手&#xff0c;我最近尝试用InsCode(快马)平台做了一个个人技能展示网站。整个过程比我预想的简单很多&#xff0c;特别适合零基础的同学上手。下面分享我的具体实现过程和心得&#xff1a; 项目规划与结构设计 刚开始完全不懂代码结构&#xff0c;但平台…...

comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位...

comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位置处设置一个深0.8mm的裂纹缺陷&#xff0c;左端面设为低反射边界 在85mm位置处放置一个压电片接收信号&#xff0c;信号如图3所示&#xff0c;三个波分别为始波&#xff0c;裂纹反射波(S0模态)和右端面…...

开源新形态:从代码到Prompt的转变

【导语&#xff1a;3月末&#xff0c;开源作者yetone发布新项目voice-input-src&#xff0c;以独特方式“开源”&#xff0c;即用自然语言Prompt生成代码&#xff0c;此做法引发讨论&#xff0c;或预示开源模式新转变。】AI驱动的语音输入法开源项目开源作者yetone在GitHub上发…...

GitHub功能多元拓展,korb工具革新REWE购物流程

【导语&#xff1a;GitHub提供了涵盖AI代码创作、开发者工作流、应用程序安全等多方面的丰富功能&#xff0c;同时推出不同规模和用例的解决方案。而korb命令行工具则为REWE超市购物带来新体验&#xff0c;可实现自动化购物流程。】GitHub&#xff1a;功能全面的开发者平台GitH…...

暗黑破坏神2存档修改实用教程:从入门到精通的d2s编辑器全攻略

暗黑破坏神2存档修改实用教程&#xff1a;从入门到精通的d2s编辑器全攻略 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor d2s-editor是一款专为《暗黑破坏神2》玩家打造的开源存档编辑工具&#xff0c;支持角色属性调整、物品管…...

ABB机器人Profinet通信实战:如何正确传输Real类型数据(附完整代码示例)

ABB机器人Profinet通信实战&#xff1a;Real类型数据的高效传输与解析 在工业自动化领域&#xff0c;ABB机器人与PLC之间的实时数据交互是产线高效运行的关键。Profinet作为工业以太网标准协议&#xff0c;其通信性能直接影响着生产节拍和系统稳定性。而Real类型数据的传输&…...

3.多表关联在电商数据分析中的核心价值

多表关联在电商数据分析中的核心价值 第1章 多表关联、子查询与行列转换在电商数据分析中的核心价值 1.1 为什么单表查询不够用 我刚开始做数据分析的时候&#xff0c;以为SQL就是在一张表上做筛选和汇总。直到有一天&#xff0c;运营问我&#xff1a;“这批高价值用户&#xf…...