Bailian4071 查找出现了k次的字符【字符串】
2017-11-29 20:27
375 查看
查找出现了k次的字符
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个ASCII字符串,查找字符串中,出现了k次的字符。比如,字符串"This
is a good day!"中,出现了2次的字符为'a','d','i','o',
's',出现了4次的字符为' '。
输入第一行是一个正整数n(1<=n<=100),表示下面要进行查找的字符串的数量。其后n行,每行是一个字符串(这里确保字符串的结尾不是空格),和一个数字k,字符串和数字k之间由一个空格隔开。
输出输出要求按照ASCII码从小到大的顺序输出字符,每个字符用单引号括起来,字符间用逗号隔开。
样例输入
样例输出
问题链接:Bailian4071 查找出现了k次的字符
问题分析:出题人不说每行最多多少字符,让程序员情何以堪?坑啊!
程序说明:怎么获得k,是个关键,每行的字符串中有空格是很坑的,没法用字符串格式化输入啊!只能一行一行输入,从中取出k。
题记:这个问题非常经典,程序中使用了诸多技巧。
AC的C语言程序如下:
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个ASCII字符串,查找字符串中,出现了k次的字符。比如,字符串"This
is a good day!"中,出现了2次的字符为'a','d','i','o',
's',出现了4次的字符为' '。
输入第一行是一个正整数n(1<=n<=100),表示下面要进行查找的字符串的数量。其后n行,每行是一个字符串(这里确保字符串的结尾不是空格),和一个数字k,字符串和数字k之间由一个空格隔开。
输出输出要求按照ASCII码从小到大的顺序输出字符,每个字符用单引号括起来,字符间用逗号隔开。
样例输入
2 This is a good day! 2 This is a good day! 4
样例输出
'a','d','i','o','s' ' '
问题链接:Bailian4071 查找出现了k次的字符
问题分析:出题人不说每行最多多少字符,让程序员情何以堪?坑啊!
程序说明:怎么获得k,是个关键,每行的字符串中有空格是很坑的,没法用字符串格式化输入啊!只能一行一行输入,从中取出k。
题记:这个问题非常经典,程序中使用了诸多技巧。
AC的C语言程序如下:
/* Bailian4071 查找出现了k次的字符 */ #include <stdio.h> #include <string.h> #include <ctype.h> #include <stdlib.h> #define N 256 char s ; int count ; int main(void) { int n, k, len, i, flag; scanf("%d", &n); getchar(); while(n--) { gets(s); len = strlen(s) - 1; while(isdigit(s[len])) len--; k = atoi(&s[len + 1]); s[len] = '\0'; memset(count, 0, sizeof(count)); i = 0; while(s[i]) { count[(unsigned int) s[i]]++; i++; } flag = 0; for(i=1; i<N; i++) { if(count[i] == k) { if(flag) printf(","); flag = 1; printf("'%c'", (char)i); } } printf("\n"); } return 0; }
相关文章推荐
- 一个字符串中查找第一个只出现一次的字符 ,时间复杂度为O(N)
- 查找字符串(sdjksfssscfssdd )中出现最多的字符(s)和个数(7)
- js快速查找字符串某个字符出现次数
- [置顶] 在一个字符串中查找第一个只出现一次的字符。要求复杂度为O(N).
- 一个字符串中查找第一个只出现一次的字符。 要求复杂度为O(N).
- 查找字符串中出现次数最多的字符
- 在字符串中查找第一个只出现一次的字符
- 查找某些字符是否在另一个字符串里出现的高效算法
- c::在一个字符串中查找第一个只出现一次的字符
- sqlserver分隔字符串,查找父类下所有子类,删除重复字符串,计算一字符串在别一字符中出现的次数
- 去哪儿网C++笔试题--二分查找、最先出现两次的字符、每个字符串中的单词个数
- [字符串]在一个字符串中查找第一次只出现一次的字符
- C++查找字符在字符串中出现的次数
- 查找字符串中只出现一次的字符
- 查找字符串中出现最多的字符和个数
- 【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回
- 查找字符串中第一个只出现一次的字符
- ASP.NET从字符串中查找字符出现次数的具体实现方法
- 从字符串中查找字符出现次数的方法和性能对比
- 从字符串中查找字符出现次数的方法和性能再比