首页 > 试题广场 >

字符串归一化

[编程题]字符串归一化
  • 热度指数:15631 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
通过键盘输入一串小写字母 (a~z) 组成的字符串。
请编写一个字符串归一化程序,统计字符串中相同字符出现的次数,并按字典序输出字符及其出现次数。
例如字符串"babcc"归一化后为"a1b2c2"

数据范围:输入的字符串长度满足 ,保证输入中仅包含小写的英文字母

输入描述:
每个测试用例每行为一个字符串,以'\n'结尾,例如cccddecca


输出描述:
输出压缩后的字符串ac5d2e
示例1

输入

dabcab

输出

a2b2c1d1
头像 牛客题解官
发表于 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 展开全文