首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
字符串归一化
[编程题]字符串归一化
热度指数:15802
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
通过键盘输入一串小写字母 (a~z) 组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如字符串"babcc"归一化后为"a1b2c2"
数据范围:输入的字符串长度满足
,保证输入中仅包含小写的英文字母
输入描述:
每个测试用例每行为一个字符串,以'\n'结尾,例如cccddecca
输出描述:
输出压缩后的字符串ac5d2e
示例1
输入
dabcab
输出
a2b2c1d1
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(17)
邀请回答
收藏(65)
分享
提交结果有问题?
94个回答
17篇题解
开通博客
牛客题解官
发表于 2020-06-04 14:48:36
精华题解
题目难度:一星 考察点:计数 方法:计数 1. 分析: 根据题意,我们统计26个字母每个字母出现的次数,对于字符串中的每个字符统计个数,具体的统计方法就是用一个计数数组保存个数,即a[s[i]-'a']++,最后再输出的时候判断a[i]是否为0,如果不为0就输出对应的字母和字母统计的个
展开全文
白伟仝
发表于 2020-04-29 11:29:03
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String s = sc
展开全文
乐观的共享单车人最喜欢春天
发表于 2023-09-05 16:37:10
st=input() dic={} # 用于记录每个字符的个数 for s in st: if s not in dic: dic[s]=1 else: dic[s]+=1 res='' l=sorted(dic) # sorted()函数传入字典,默
展开全文
JLU小浪
发表于 2019-08-17 21:00:19
import java.util.Arrays;import java.util.Scanner;//Main25public class Main { /* * 通过键盘输入一串小写字母(a~z)组成的字符串。 请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输
展开全文
牛客327297870号
发表于 2022-11-11 21:59:54
ss = input() dd = {} for i in ss: if i in dd: dd[i] += 1 else: dd[i] = 1 dd = sorted(dd.items(),key = lambda x:x[0]) dd =
展开全文
苏觅云
发表于 2022-05-26 15:03:59
import java.util.*; public class Main { public static void solve(String s) { int[] cnts = new int[128]; char[] arr = s.toCharArray
展开全文
小牛哥永不退缩
发表于 2023-08-02 22:33:50
HashTree红黑树搞定 import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scan
展开全文
牛客534030675号
发表于 2023-05-04 15:24:17
import sys data=sys.stdin.readline() data=list(data) data.sort() data.remove('\n') result="" d={} for item in data: if item not in d.keys():
展开全文
yuelinghou
发表于 2021-09-24 22:12:35
解题思路 创建一个长度为26的数组count,代表26个英文字母出现的次数,并把数据初始化为0。遍历字符串拿到里面的每一个字符,其中 字符 - 'a' 就是该字符在count里对应的下标。最后遍历count,输出每一个不为0的元素和该位置对应的字符。 代码实现 #include<iostrea
展开全文
牛客289281343号
发表于 2020-05-01 21:07:54
解题思路:采用两个列表分别存储字符串中出现的字符和次数,然后用直接选择排序按照字符存储的值升序排序两个列表,最后输出结果。 import java.util.*; public class Main{ public static void main(String arg[]){ S
展开全文
牛客338148058号
发表于 2022-04-06 23:06:56
def string_sort(n): # 对n进行去重set(),排序sorted() a = [_ for _ in s
展开全文
问题信息
快手
字符串
模拟
算法工程师
2019
上传者:
小小
难度:
94条回答
65收藏
14653浏览
热门推荐
通过挑战的用户
查看代码
alanwolf
2022-10-24 23:57:17
Delicacies
2022-09-13 17:28:22
happy_k...
2022-09-13 16:26:38
枫叶寒
2022-09-13 15:29:58
牛客52981...
2022-09-12 23:08:42
相关试题
以下关于非对称加密的说法错误的是
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
快手
2019
评论
(1)
下面描述中,符合结构化程序设计风格...
北京搜狐互联网信息服务有限公司
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
若要尽可能地完成对实数数组的排序,...
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
快手
2019
评论
(4)
3.下列关于表中西部省市区2006...
资料分析
言语理解与表达
资料分析
评论
(1)
Mysql中表student_in...
数据库
SQL
评论
(1)
字符串归一化
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
dabcab
a2b2c1d1