当前位置: 首页 > 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;我们在输入我们的问题…...

Gemini3.1Pro和GPT5.5写代码到底谁更强五类任务实测数据说

做多模型编码能力横向对比测试时用了AI模型聚合平台&#xff0c;一站接入两个模型方便跑同一套编码任务。Gemini 3.1 Pro在SWE-Bench Verified拿到80.6%。GPT-5.5在Terminal-Bench拿到82.7%。分数接近但写代码的实际体验和分数不是一回事。这次用五类真实开发任务做了一轮系统对…...

2026浏览器侧信道指纹检测技术研究与防护方案落地

一、引言常规浏览器指纹检测依托页面脚本读取显性设备参数&#xff0c;这类识别方式早已被各类虚拟浏览工具针对性规避。近两年各大互联网平台开始大规模部署侧信道指纹检测体系&#xff0c;跳出表层参数读取的局限&#xff0c;借助硬件运行损耗、指令执行耗时、内存调度特征、…...

大模型推理层归零:从vLLM到硬件直驱的架构革命

1. 项目概述&#xff1a;这不是一次普通更新&#xff0c;而是一次架构级“蒸发”“Anthropic Just Shipped the Layer That’s Already Going to Zero”——这个标题乍看像科技媒体的夸张头条&#xff0c;但作为连续三年深度跟踪Claude模型演进、亲手部署过从claude-2.1到claud…...

DeepSeek OCR:文档智能处理的成本革命与工程落地

1. 这不是又一个OCR工具&#xff0c;而是一次成本结构的重写DeepSeek OCR这个名字刚出来时&#xff0c;我第一反应是&#xff1a;又一个堆参数的模型&#xff1f;点开官网文档扫了一眼&#xff0c;发现它连“支持PDF”这种基础描述都懒得写——因为PDF只是输入格式里最不值一提…...

【Typescript】14-高级实战-设计类型安全的-api

高级实战&#xff1a;设计类型安全的 API 如果学完前面的知识&#xff0c;你还只是停留在“我会写几个类型、看得懂一些泛型”&#xff0c;那 TypeScript 其实只学了一半。真正拉开差距的地方&#xff0c;是你能不能把类型系统转化成设计能力&#xff0c;尤其是在 API 设计上。…...

创业公司如何利用 Taotoken 统一管理多个 AI 模型服务

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业公司如何利用 Taotoken 统一管理多个 AI 模型服务 对于资源有限的创业团队而言&#xff0c;快速验证产品想法、迭代功能是生存…...

软考 系统架构设计师系列知识点之杂项集萃(155)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(154) 第293题 给定关系R(A1, A2, A3, A4, A5)上的函数依赖集F={A1->A2A5, A2->A3A4, A3->A2},R的候选关键字()。函数依赖()∈F+。 第1空 A. A1 B. A1A2 C. A1A3 D. A1A2A3 正确答案:A。 第2空…...

【linux学习】linux工具篇(下)

Linux调试器-gdb使用&#xff0c;Linux项目自动化构建工具-make/Makefile我是程序员小青蛙&#xff0c;下面分享linux的工具利用前言程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xf…...

【期刊征稿 | 录用后最快当月见刊,刊后1个月检索,且检索稳定】第九届艺术、教育与管理国际学术会议(ICAEM 2026) - 第二期

录用后最快当月见刊&#xff0c;刊后1个月检索&#xff0c;且检索稳定 | 含ISSN号&#xff0c;DOI&#xff0c;封面目录 第九届艺术、教育与管理国际学术会议&#xff08;ICAEM 2026) - 第二期 2026 9th International Conference on Arts, Education and Management 2026年…...

CyberChef:浏览器端数据处理的模块化架构解析

CyberChef&#xff1a;浏览器端数据处理的模块化架构解析 【免费下载链接】CyberChef The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis 项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef CyberChef 是一款…...