字符串统计 连续的某个字符的数量

  这个问题可以使用dp来统计, 假设我们要统计s中连续的a的数量, 那么我们可以定义f[i]为以i结尾连续的a的个数, 那么我们可以定义如下递推式 , if s[i]==‘a‘ then f[i] = f[i-1] + 1;  else  f[i]=0;  这样就统计了出来, 我们也可以定义以i为开头的连续的i的个数, 只需倒着循环一次即可。

时间: 2024-10-12 17:55:12

字符串统计 连续的某个字符的数量的相关文章

[2013百度软件研发笔试题] 求字符串中连续出现同样字符的最大值

题目完整描写叙述为:用递归的方式实现一个求字符串中连续出现同样字符的最大值.如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 下面是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\

[2013百度软件研发笔试题] 求字符串中连续出现相同字符的最大值

题目完整描述为:用递归的方式实现一个求字符串中连续出现相同字符的最大值,如aaabbcc,连续出现a的最大值为3,abbc,连续出现字符最大的值为2. 以下是我想出来的方法: #include <iostream> using namespace std; #define MAX(a, b) (a) > (b) ? (a) : (b) int Get(char *s, int n, int m)  //字符指针, 当前最长串, max最长串 {     if(*(s+1) == '\0'

去除字符串中连续重复的字符

目的:把字符串中连续重复的字符赐除掉. 输入:序列:kkkhan888shioobo66 正确的返回结果应该是:hanshibo 思路解析 1 使用JAVA正则表达式,匹配出连续相同的字符或数字. 2 查找出匹配出来的序列,并取出来放到list里面 3 对list进行排序.把重复的序列排在前面.(该步可省略) 4找出连续重复的子序列,并把这些连续重复的子序列用空(字字符串)替换. 5 返回输出. code public class Test { public static void main(S

代码:字符串中连续与重复字符判断

字符串操作: int consecutiveCharMaxCount( char *str) { char *pstr = NULL; char *p = NULL; int value = 0; int incN = 1; int decN = 1; int maxCount = 0; char chrp = 0; char chrn = 0; if(str == NULL) return ERROR; p = str; while(*p != '\0') { pstr = p; incN =

删除字符串中连续的若干字符

#include <stdio.h> char del(char s[],int pos,int len){ int i; for(i = pos+len-1; s[i] != '\0'; i ++, pos ++) { s[pos - 1] = s[i]; } s[pos - 1] = '\0'; return s;} int main(void){ char str[50]; int position; int length; printf("\nPlease input str

字符串压缩-连续字符压缩并输出次数

一.算法描述     给定一个字符串,压缩其连续出现的字符,并输出连续出现的次数,输出顺序与原字符出现的顺序一致,如果只出现一次则不输出次数, 例如: 输入:CCCCDDE, 输出:4C2DE 二.算法思路     通过分析可得出,此算法的关键是统计连续出现字符的次数,并输出,这需要借助于一个临时的字符串来输出结果 三.算法代码 #include <iostream> #include <cstring> #include <cstdio> #include <c

31:字符串中最长的连续出现的字符

31:字符串中最长的连续出现的字符 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数.字符串中无空白字符(空格.回车和tab),如果这样的字符不止一个,则输出出现最早的字符. 输入 一行,一个不包含空白字符的字符串,字符串长度小于200. 输出 一行,输出最长的连续出现的字符及其最长的连续出现次数,中间以一个空格分开. 样例输入 aaaaadbbbbbcccccccdddddddddd 样例输出

字符串的长度,是字符数量,还是字节数量?

当计算字符串的长度时,大多数人脑海中闪现的第一个函数是:Len(),该函数返回的字符的数量(number of characters),不包含结尾空格,但是包含前导空格. 示例,Len 函数返回的是字符的数量,而不是字符的字节数量. declare @str_v varchar(10) declare @str_nv nvarchar(10) set @str_v=' ab ' set @str_nv=N' ab ' select len(@str_v) as len_v,len(@str_nv

字符串中最长的连续出现的字符【指针练习】

链接:http://ica.openjudge.cn/zz/2/ 总时间限制: 1000ms  内存限制: 65536kB 描述 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格.回车和tab),如果这样的字符不止一个,则输出第一个 输入 首先输入N,即测试数据的组数每组测试数据输入:一行,一个不包含空白字符的字符串,字符串长度小于200 输出 一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开 样例输入 2 aaaaabbbbbcccccccdddd