最大连续递增数字串
2013-11-16 22:14
288 查看
求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
int GetSubString(char *strSource, char *strResult) { int iTmp=0, iHead=0, iMax=0; for(int Index=0, iLen=0; strSource[Index]; Index++) { if(strSource[Index] >= '0' && strSource[Index] <= '9' && strSource[Index-1] > '0' && strSource[Index] == strSource[Index-1]+1) { iLen++; // 连续数字的长度增1 } else { // 出现字符或不连续数字 if(iLen > iMax) { iMax = iLen; iHead = iTmp; } // 该字符是数字,但数字不连续 if(strSource[Index] >= '0' && strSource[Index] <= '9') { iTmp = Index; iLen = 1; } } } for(iTmp=0 ; iTmp < iMax; iTmp++) // 将原字符串中最长的连续数字串赋值给结果串 strResult[iTmp] = strSource[iHead++]; strResult[iTmp]='\0'; return iMax; // 返回连续数字的最大长度 } int main(int argc, char* argv[]) { char strSource[]="ads3sl456789DF3456ld345AA", char strResult[sizeof(strSource)]; printf("Len=%d, strResult=%s \nstrSource=%s\n", GetSubString(strSource, strResult), strResult, strSource); }
相关文章推荐
- 【每日面试题】最大连续递增数字串
- 求最大连续递增数字串
- 求一个字符串s的最大连续递增数字子串
- 87 2.求最大连续递增数字串
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 微软100题(87)最大连续递增数字串
- 面试题---求一个串中的最大连续递增数字串
- 微软:求最大连续递增数字串/时钟问题
- 求最大连续递增数字串
- 求最大连续递增数字串
- 求一个字符串s的最大连续递增数字子串
- 求最大连续递增数字串
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- 求最大连续递增数字串(如“ads3sl456789DF3456ld345AA”中的“456789”)
- nyoj44 nyoj17 HDU1087 DP动规 连续字符串的和最大值 单调递增最长子序列 单调递增子序列最小个数 非连续最大递增子序列
- 【一道笔试题】找出最连续数字的最大长度
- 华为机试2题:排序并剔除连续的数字只保留最大最小数
- POJ 2479 最大数字连续和 动态规划
- leetcode 738. Monotone Increasing Digits 最大单调递增数字 + 找规律