字符统计

PAT (Basic Level) Practise (中文)1042. 字符统计(20) C语言 1042. 字符统计(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超 阅读详情

题目描述:

如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

实现接口:

输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)

按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出

清空目前的统计结果,重新统计

调用者会保证: 输入的字符串以‘\0’结尾。

知识点: 字符串,排序

输入: 一串字符

输出: 对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。

样例输入: aadddccddc

样例输出: dca

思路:

如果事先指定计算字符频率的大小,这样会浪费空间,而且不利于排序。

于是想到今天早上刚学习的C++ 模板类vetor动态创建数组。

而且为了在排序后还能立刻知道对应的字符,于是想到了是用结构体。

代码:

#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Node{
	int num = 0;
	char ch;
};
vector <Node> temp;
int main()
{
	string str;
	getline(cin, str);
	int len = str.size(),i,j,flag=0,n=0;
	for (i = 0; i < len; i++)
	{
		if (str[i] == ' ' || isdigit(str[i]) || isalpha(str[i]))
		{
			for (j = 0; j < n; j++)
			{
				if (str[i] == temp[j].ch)
				{
					temp[j].num++;
					flag = 1;
					break;
				}
			}
			if (flag == 0)
			{
				Node m;
				n++;
				m.num = 1;
				m.ch = str[i];
				temp.push_back(m);
			}
			else 
				flag = 0;
		}
	}
	int size = temp.size();
	Node tmp;
	for (i = 0; i < size-1; i++)
	{
		for (j = i + 1; j < size; j++)
		{
			if (temp[i].num < temp[j].num)
			{
				tmp = temp[i];
				temp[i] = temp[j];
				temp[j] = tmp;
			}
			else if (temp[i].num == temp[j].num)
			{
				if (temp[i].ch > temp[j].ch)
				{
					tmp = temp[i];
					temp[i] = temp[j];
					temp[j] = tmp;
				}
			}
		}
	}
	for (i = 0; i < size; i++)
		cout << temp[i].ch;
	cout << endl;
//	system("pause");
	return 0;
}
得分运行时间内存复杂度最大嵌套深度
100(100)15ms2036KB155

MapReduce字数统计案例 MapReduce字数统计案例,希望大家交流,最好自己写完后在对比交流,欢迎前来交流 立即下载

相关推荐

P1003 [NOIP2011 提高组] 铺地毯 python题解

解题思路: 1、根据题意,所有地毯都是挨着铺的,所以最上面的一条符合题意的一定是从后往前数的第一条符合题意的。 2、符合题意要求x和y同时满足大于等于地毯左边坐标并且小于等于地毯右边坐标。 代码如下: n = int(input()) a = [] for i in range(n): a.append(list(map(int,input().split()))) x,y = list(map(int,input().split())) l = len(a) while l > 0: ..

繁华三千东流水不舍昼夜的博客 1621

LC-3机器码编程实验

【代码】LC-3机器码编程实验。

2301_80112744的博客 356

【寄存器模型】一、一个简单的寄存器模型

在描述寄存器模型之前,首先来了解一下实际寄存器的组成结构:如下图所示的DUT内部真实的寄存器寄存器中最小的一个单位是域(field),域是由一个或多个bit拼接而成的。一个或多个域就构成了一个寄存器(reg)。一个或多个寄存器就构成了一个块(block)。将DUT中的寄存器抽象出来,建立寄存器模型,如下图所示:uvm library已经定义好了field、reg、block等相关的概念,构建寄存器模型时,只需要继承这些类即可。:构建寄存器模型中的域段。uvm_reg。...

carrotbanana的博客 5368

PAT_乙级_1042

PAT-乙级 1042 问题描述 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。 输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大...

NoNameMing的博客 464

车载智能终端的设计

本文研究的主要内容是车载智能终端的设计,在学习和借鉴国内外在车载电子领域已有的成熟经验的基础上,利用32位嵌入式处理器S344B0X01和μC/OS-Ⅱ实时操作系统技术,针对汽车行驶记录仪、GPS/GPRS的已有设计的不足提出了新的解决方案,并对方案的可行性进行了分析和论证。

weixin_44553616的博客 1415

【Telephony】APN配置及加载流程&项目实践(AOSP)

学习APN关键是学会明白apns-conf.xml文件各个参数的意思,然后熟悉TelephonyProvider是如何读取文件创建数据库的,譬如数据库表的约束、文件的读写顺序等,还有读取后的ApnSetting的二次定制以及显示(例如屏蔽xcap等)。虽然一般在项目中APN的需求很简单,就是按照客户提供的APN参数添加上配置,或者在显示屏蔽一些参数,但是项目维护的过程中APN的问题也是比较多的。

weixin_44513784的博客 5514

1042 字符统计

1042 字符统计 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。 输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。 输入样例: This is a simple TEST. There ARE numbers and

xuexiwd的博客 207

电力电子技术复习笔记

通常在开关过程前后加入谐振,使开关开通前电压先降到0,关断前电流先降到0,消除开关过程电压、电流的重叠,降低它们的变化率,从而大大减小甚至消除开关损耗。小信号线性化模型的原理:忽略开关频率分量和开关频率谐波分量及其边频分量,建立占空比、输入电压等的低频扰动对变换器中的电压、电流影响的模型。解:可以利用变压器的变比改变输出电压大小,避免控制过程的占空比过小或过大,提高控制精度,同时有利于减轻输出电路中电力电子器件的耐压要求。驱动电路:用于控制功率半导体器件的开关,从而控制电路的电流和电压。

Miracle Fan的博客 1万+

PTA 1042 字符统计(c语言)

1042 字符统计 (20 分) 请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内)。 输出格式: 在一行中输出出现频率最高的那个英文字母及其出现次数,其间以空格分隔。如果有并列,则输出按字母序最小的那个字母。统计时不区分大小写,输出小写字母。 输入样例: This is a simple TEST. There ARE numbe

m0_50674480的博客 666

立创·庐山派-K230-CanMV(嘉楠勘智)开发板通过ATK-ESP8266实现图像识别数据无线传输至原子云

本文详细介绍了如何使用立创·庐山派-K230-CanMV开发板,通过ATK-ESP8266 WIFI模块实现图像识别数据的无线传输至原子云平台。内容包括硬件连接、软件环境搭建、AT指令控制、原子云连接及数据上传的全过程,并提供了实用的调试技巧和常见问题解决方案,为物联网应用开发提供了完整实践指南。

potato的博客 743

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1420

python 统计字符串中字符的出现次数

# -*- coding:utf-8-*- # 方法一:统计单个字符出现次数 def str_count_one(strs:str, find_str:str): return strs.count(find_str) # 方法二:实现统计字符串中每个字符出现的次数 def str_count_two(strs:str): #1、目标字符串转为列表 strs_list = list(strs) #2、用一个列表记录总共有多少种字符 new_str_list = .

bang152101的博客 7万+

利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案

tokenizer将输入的文本列表texts转换为 PyTorch 张量,同时进行填充和截断操作,以确保所有输入具有相同的长度。对输入进行推理,得到模型的输出。对模型的最后一层隐藏状态求平均,得到每个文本的向量表示。.numpy()将 PyTorch 张量转换为 NumPy 数组。使用DBSCAN算法对文本向量进行聚类。eps是邻域半径,是形成核心点所需的最小样本数。fit方法对输入的向量进行聚类,并返回每个样本所属的簇标签。try:定义了一个 POST 请求的 API 路由,路径为。

AI的内部世界的博客 1069

Python字符统计:详解如何统计文本中的字符

在计算机编程中,经常需要对文本数据进行处理和分析。字符统计是其中一个常见任务,它可以帮助你了解文本的组成,分析文本的特征,或者解决各种文本处理问题。本文将详细介绍如何使用Python进行字符统计,包括统计字符出现次数、统计不同字符的数量以及其他相关任务。

涛哥聊Python 4095

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

统计字符串字符出现的次数

输入一个字符串,输出字符及相应字符出现的次数。【学习的细节是欢悦的历程】Python官网Free:大咖免费“圣经”教程python 完全自学教程,不仅仅是基础那么简单……自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。——华罗庚HOT好文力荐输入一个字符串字符串统计(输出字符及相应字符出现的次数)本文质量分:90目 录。

m0_57158496的博客 9263

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

字符统计 一行字符的统计

字符统计 时间限制: 1 Sec  内存限制: 12 MB 题目描述 有一行文字,不到80个字符。要求统计行中字母、数字、空格以及其他字符的个数。 输入 从键盘上输入一行字符,每行不到80个字符。 输出 输出信息占1行 每行输出4个整数,分别表示该行字符中字母、数字、空格以及其他字符的个数,数字之间以空格分隔。 样例输入 I

Xing___wei的博客 1220

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

python统计字符串字符出现次数

以上就是python统计字符串字符出现次数,使用count()就可以轻松解决,同时与它相似的List count()能够统计列表的元素,大家可以都尝试下这类的使用。用于统计字符串中某个字符出现的次数。可选参数为文字串检索的开始和结束位置。返回子字符串在字符串中出现的次数。本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。用于统计某些要素在列表中出现的次数。返回元素在列表中出现的次数。obj,列表中统计的对象。count()方法语法。

很酷的站长的博客 5万+

字符串的统计字符串

【题目】给定一个字符串str,返回str的统计字符串。例如“aaabbadddffc”的统计字符串为“a_3_b_2_a_1_d_3_f_2_c_1”。 【补充题目】给定一个字符串的统计字符串,再给定一个整数index,返回cstr所代表的原始字符串上的第index个字符。例如,“a_1_b_100”所代表的原始字符串上第0个字符是‘a’,第50个字符是‘b’。 /* * 给定一个字符串str,...

gkq_tt的博客 2598

统计字符

题目内容: 输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为10个字符。最后一个回车表示输入结束,不算在内。 输出格式: 在一行内按照 letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数 的格式输出。 源程序: #include<stdio.h> int main(void) { int letter, blank, digit, i , other;

weixin_45984250的博客 5365

如何统计一个字符在字符串中出现次数

方法接受一个回调函数和一个初始值,用于对数组元素进行迭代和累积操作。如果小伙伴们想得出最大值字符和出现次数,循环遍历即可得到哦。在回调函数中,使用了三元条件运算符。这将创建一个包含每个字符的数组,例如。方法一: 通过for循环的方法统计一个字符串出现次数。中已经有该字符的计数),则将该属性值加一(,用于存储字符出现次数的统计结果。对象中,并将其初始值设置为 1(对象中存储了字符出现的统计结果。处的字符,并将其赋值给变量。中,并将其初始值设置为 1((当前迭代的字符)。如果不存在,则将属性。

TZJ999919的博客 2万+

7.字符统计

题目描述 输入描述: 输入一串字符。 输出描述: 对字符中的各个英文字符(大小写分开统计),数字,空格进行统计,并按照统计个数由多到少输出,如果统计的个数相同, 则按照ASII码由小到大排序输出。如果有其他字符,则对这些字符不用进行统计。 示例1 输入: aadddccddc 输出: dca 一、解题思路 1.字符的ASCII值 由于字符是按照其整数形式存储的,大多数系统采用ASCII字符集,其基本集包含了128个字符,扩展集也包括128个字符,故共有256个字符。基本集和扩..

Kunfly的博客 4580

统计字符串中字符的重复个数

import java.util.Random; public class HomeWork1 { public static void main(String[] args) { // 统计字符串中字符的重复个数 // 拿一个字符一一对比 // 无则新增,有则计数 String str = "aaafff11"; char[] chars = new char[str.length()]; int[] charCount = new int[str.length()]; .

weixin_45010894的博客 3774

统计字符串中相同字符的个数

//统计字符串中相同字符的个数 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class CountChar { /** * The main m

hlw881008 奕然风 4238

统计字符串中各种字符的个数

统计字符串中各种字符的个数! public class TongJi { public static void main(String[] args) { // TODO 自动生成的方法存根 //给一个字符串,可以用Scanner输入 String str = "bc1A122n好%"; int x = 0;// 大写 int y = 0;// 小写 int z = 0;// 数字 ...

BlackWatchXY的博客 3557

统计字符串中各个字符的出现的次数

统计字符串中各个字符的出现的次数(Map集合练习) ** 需求: 1.利用键盘录入,输入一个字符串 2.统计该字符串中各个字符的数量(提示:字符不用排序) 3.如:用户输入字符串 “Ifyou-wanttochange-your_fate_I_thinkyoumustcome-to-the-dark-horse-to-learn-java” 程序输出结果: -(9)I(2)_(3)a(7)c(2)...

冬藏-winter 1983
上一篇: 自守数
下一篇: 求最小公倍数
成功Run的Q
博客等级 码龄12年 197粉丝 322原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值