首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
字符串归一化
[编程题]字符串归一化
热度指数:15774
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 256M,其他语言512M
算法知识视频讲解
通过键盘输入一串小写字母 (a~z) 组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如字符串"babcc"归一化后为"a1b2c2"
数据范围:输入的字符串长度满足
,保证输入中仅包含小写的英文字母
输入描述:
每个测试用例每行为一个字符串,以'\n'结尾,例如cccddecca
输出描述:
输出压缩后的字符串ac5d2e
示例1
输入
dabcab
输出
a2b2c1d1
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(17)
邀请回答
收藏(65)
分享
提交结果有问题?
93个回答
16篇题解
开通博客
牛客题解官
发表于 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
上传者:
小小
难度:
93条回答
65收藏
14159浏览
热门推荐
通过挑战的用户
查看代码
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
评论
(4)
有两个文件context.txt和...
去哪儿
模拟
评论
(4)
(verbal)最近的研究显示,许...
言语理解与表达
2019
普华永道
人力资源
审计
税务服务
风险管理
管理咨询
行政管理
评论
(3)
来自
职能类模拟题14
下面代码的输出结果 public ...
Java
评论
(1)
子曰:“名不正,则言不顺;言不顺,...
判断推理
评论
(0)
字符串归一化
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
dabcab
a2b2c1d1