C++_USACO_求一个字符串的从开头字母开始,直到发现某一不相同字母时,这个子串的长度
2013-07-17 20:09
351 查看
#include<iostream> using namespace std; int first_maxLen(string newstr){ int i=0; int n=newstr.size(); int temp_len=0; char br=' '; if(newstr[0]=='w'){ while(i<n){ if(newstr[i]=='w' || newstr[i]==br){ temp_len++; i++; continue; } if(br==' '){ br=newstr[i]; temp_len++; i++; continue; } if(br!=newstr[i]) break; } } else{ br=newstr[0]; while(i<n){ if(newstr[i]==br||newstr[i]=='w'){ temp_len++; i++; continue; } else break; } } return temp_len; } int main(){ string str="wwwbbrwrbrbrrbrbrwrwwrbwrwrrb"; int n; n=first_maxLen(str); cout<<n<<endl; return 0; }
与前一篇的maxLen()不同。w也是可以视为任何字符。
相关文章推荐
- C++_USACO_求一个字符串的连续相同字符的最大长度
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- 完美字符串 输入一个字符串S(S的长度 <= 10000),S中没有除字母外的其他字符。由你将1-26分配给不同的字母,使得字符串S的完美度最大,输出这个完美度。如dad 77
- 请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串
- 如果字符串的一个子串(其长度大于 1)的各个字符均相同,则称之为等值子串。试设计一算法,求出串S中的最大等值子串 函数返回最大等值子串的长度,如果没有则返回1。 例如: 若S= “abc123abc1
- JS验证字符串是否以某一子串结尾,验证字符串是否以某一子串开始;计算字符串长度,中文为2,英文为1,以此累计
- 面试题:将一个字符串数组中的字母按照以下规则排列:表中任何单词的首字母与其前面单词的尾字母相同! 要求:字符串只由小写字母构成,且每个字符串长度在2-100之间
- 回文串是指这个字符串无论从左读还是从右读,所读的顺序是一样的;简而言之,回文串是左右对称的。现在,对于一个给定的母串 abcdedcb求最长回文子串的长度
- 在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
- 关于C语言的一个“巨大”发现~字符串长度的计算
- 给你一个字符串s和一个长度相同的单词列表。 找出s中所有子字符串的起始索引,这些字符串中的每个单词只是一个字符串,没有任何中介字符。
- 给定一个单链表,从链表返回一个随机节点的值。 每个节点必须具有相同的选择概率。 跟进: 如果这个链表非常大,而且它的长度不为人知呢? 你能解决这个问题,而不使用额外的空间?
- C++实现去掉字符串中连续相同K个0子串
- 找出一个字符串中最长连续相同子串
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 求一个字符串中最长回文子串的长度(承接上一个题目)
- 一行字符串,寻找其中出现相同且长度最长的子串
- 在一个字符串的相同指定长度间隔处插入指定字符串
- 给定一个字符串s,找出s中最长的回文子串,你可以假设s的最大长度是1000。
- 第25题: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr),在字符串中找出连续最长的数字串,并把这个串的长度返回