算法学习十一----连续最长的数字串
来源:互联网 发布:samba的端口号 编辑:程序博客网 时间:2024/06/13 06:27
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr)
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
功能:
在字符串中找出连续最长的数字串,并把这个串的长度返回,
并把这个最长数字串付给其中一个函数参数outputstr所指内存。
例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回9,
outputstr所指的值为123456789
算法思路如下:
1、逐个字符遍历该字符串,当还没有到达字符串的结束时,判断当前字符是否是数字,若是数字,则进行第二步,否则继续遍历
2、继续判断下一字符,直到当前字符不是数字,并记录下数字字符的个数,与之前的数字字符做比较,如果当前数字个数较多,则更新最大值
算法伪代码如下:
while not to the end reset tempSum if '0'<= *c <= '9' then while not to the end and '0' <= *c <= '9' add tempSum go to next char if tempSum > maxCount then update maxCount go to next char
C++实现
int ContinuMaxNumStr(const char *c){ int maxCount = 0; int tempSum = 0; //while not to the end while(*c != '\0') { //reset tempSum tempSum = 0; //if '0'<= *c <= '9' if(*c>='0' && *c<='9') { //then while not to the end and '0' <= *c <= '9' while((*c != '\0') && (*c>='0' && *c<='9')) { //add tempSum ++tempSum; //go to next char ++c; } //if tempSum > maxCount if(tempSum > maxCount) { //then update maxCount maxCount = tempSum; } } //go to next char ++c; } return maxCount;}
0 0
- 算法学习十一----连续最长的数字串
- 找出最长的连续数字串
- 查找字符串中连续的最长的数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 25、在字符串中找出连续最长的数字串
- 字符串中找连续最长的数字串
- 在字符串中找出连续最长的数字串
- 字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串(25)
- 在字符串中找出连续最长的数字串
- 字符串中找出连续最长的数字串
- 25. 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- 在字符串中找出连续最长的数字串
- malloc和new的区别是什么?
- poj_2109 二分+大整数乘法
- leetcode: Scramble String
- 用Python模拟登录正方教务系统并抓取初始网页的一些个人笔记
- Struts2返回success不能跳转的问题
- 算法学习十一----连续最长的数字串
- PAT 1008. 数组元素循环右移问题 (20)
- MyEclipse逆向生成实体类和Hibernate映射文件
- hadoop学习(九)Hadoop2.2.0+HA+zookeeper3.4.5详细配置过程+错误处理(2)
- johnson方法求所有节点对最短路径
- linux中fork函数
- 关于UITextField上升问题
- servlet 过滤器
- efgjxb