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

字符串操作:

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 = 1;

decN =1;

value = 0;

while(*pstr != ‘\0‘)

{

chrp = *pstr;

chrn = *(++pstr);

value = chrp - chrn;

if(value == 1)

incN++;

else

{

maxCount = (maxCount>=incN)?maxCount:incN;

incN = 1;

}

if(value == -1)

decN++;

else

{

maxCount = (maxCount>=decN)?maxCount:decN;

decN = 1;

}

}

p++;

}

return maxCount;

}

int repeatedCharMaxCount( char *str)

{

char pchar[2] = {0};

char *pindex = NULL;

char *pstr = NULL;

int n = 0;

int maxCount = 0;

if(str == NULL)

return ERROR;

pstr = str;

while(*pstr != ‘\0‘)

{

memset(pchar,0,2);

pchar[0] = *pstr;

pindex = index(pstr,pchar[0]);

n = strspn(pindex,pchar);

maxCount = (maxCount>=n)?maxCount:n;

pstr++;

}

return maxCount;

}

时间: 2024-12-17 02:05:01

代码:字符串中连续与重复字符判断的相关文章

Cracking-- 1.1 判断字符串中是否有重复字符

第三种方法为位运算的方法. 位运算符: << 左移  & 与 | 或 #include <iostream> #include <string> #include <unordered_set> #include <vector> #include <unordered_map> using namespace std; //时间 O(n) 空间 O(1) bool hasSame(string str) { if(str.s

[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'

查找字符串中最长重复字符的子串

temppos:记录子字符串开始的下标 list:存放重复的子字符串 public class RepeatString { private static void longestdupString(String s) { if (s == null || s.length() == 0) { return; } char temp = s.charAt(0); int temppos = 0; List<String> list = new ArrayList<String>()

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

#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

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

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

将字符串中连续出现的重复字母进行压缩

原文地址:http://leihuang.net/2014/05/19/List-Interviews/ 单链表的一些常见面试题汇总 单链表反转/逆序 求单链表倒数第N个数 找到单链表的中间结点 如何判断链表是否有环的存在 单链表建环,无环链表变有环 如何知道环的长度? 如何找出环的连接点在哪里? 删除单链表中的重复元素 下面我先简单叙述一下每道题的思路,然后把实现的程序一起贴出来,不会讲得太细,我觉得只要有了思路之后,接下来的难点就是语言上的一些细节问题了,这个不自己去实现,听别人讲是体会不到

字符串中连续出现最多的子串 &amp; 字符串中最长重复子串

字符串中连续出现最多的子串 & 字符串中最长重复子串 字符串中连续出现最多的子串 & 字符串中最长重复子串,这两个问题都可以用后缀数组来表示,至于后缀数组可以参考编程珠玑P156:后缀数组就是定义一个数组指针,分别指向字符串中的对应位置,如下: a b c a b c a b c d e .substr[0] b c a b c a b c d e ....substr[1] c a b c a b c d e .......substr[2] a b c a b c d e ......

判断一个字符串中是否含有中文字符:

python中的encode和decode: 首先,在Python中字符串的表示是 用unicode编码.所以在做编码转换时,通常要以unicode作为中间编码. decode的作用是将其他编码的字符串转换成unicode编码,比如 a.decode('utf-8'),表示将utf-8编码的字符串转换成unicode编码 encode的作用是将unicode编码的字符串转换成其他编码格式的字符串,比如b.encode('utf-8'),表示将unicode编码格式转换成utf-8编码格式的字符串