关闭

在字符串中找出连续最长的数字串

标签: C++STL
223人阅读 评论(0) 收藏 举报
分类:

赶时间随意写的,代码不优雅,先保存下来,以后有时间再改进

struct numStr{
    string s;
    int n;
};
bool cmp(numStr const &a, numStr const &b){
    return a.n > b.n;
}
void hwOJ(){
    vector<numStr> numstr;
    string str = "abcd12345ed125ss123058789s123456789012345";
    int len = str.length();
    numStr tmp;
    for (int i = 0; i < len; ++i){
        if (isdigit(str[i]))
        {       
            tmp.s.push_back(str[i]);
        }
        else if (!isdigit(str[i])){
            if (!tmp.s.empty()){
                tmp.n = tmp.s.length();
                numstr.push_back(tmp);
                tmp.s.clear();
                tmp.n = 0;
            }
        }
        if (i == len - 1 && isdigit(str[len - 1])){
            tmp.n = tmp.s.length();
            numstr.push_back(tmp);
            tmp.s.clear();
            tmp.n = 0;
        }
    }
    sort(numstr.begin(), numstr.end(), cmp);
    cout << numstr.at(0).s <<", "<<numstr.at(0).n;
    cout << endl;
}
0
0
查看评论

华为OJ:在字符串中找出连续最长的数字串

描述:  题目描述   请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串; 注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“1234”的长度就小于数字串“1359055”,如果没有数字,则...
  • u010889616
  • u010889616
  • 2016-01-15 15:03
  • 1403

找出字符串中找出连续最长的数字串代码实现及思路

#include #include #define DU 100 int continumax(char *outtstr,char *intstr); int main() {      char instr[1024]; ...
  • YEDITABA
  • YEDITABA
  • 2017-07-05 23:37
  • 319

25、在字符串中找出连续最长的数字串

题目: 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回, 并把这个最长数字串付给其中一个函数参数outputstr所指内存。 例如:"abcd123...
  • zwb8848happy
  • zwb8848happy
  • 2012-03-19 19:27
  • 7278

OJ------在字符串中找出连续最长的数字串

描述 样例输出输出123058789,函数返回值9输出54761,函数返回值5 接口说明函数原型:   unsignedint Continumax(char** pOutputstr,  char* int...
  • nameix
  • nameix
  • 2016-08-10 13:35
  • 593

请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串

题目描述请一个在字符串中找出连续最长的数字串,并把这个串的长度返回;如果存在长度相同的连续数字串,返回最后一个连续数字串;注意:数字串只需要是数字组成的就可以,并不要求顺序,比如数字串“1234”的长度就小于数字串“1359055”,如果没有数字,则返回空字符串(“”)而不是NULL!样例输入abc...
  • zuotian5212008
  • zuotian5212008
  • 2015-05-15 16:53
  • 1683

2015上机一 输出字符串中连续出现最长的数字串及其开始的下标

#include #include #define MAX 30 void main() { char a[MAX]; int i = 0, j = 0, n = 0, maxCount = 0, maxStart = 0; printf("请输入字符串并以#结尾:"); get...
  • Mr_Ystreet
  • Mr_Ystreet
  • 2017-02-23 14:51
  • 433

java求得字符串中的最长数字串

求得“iou123jk3ui456789kljh23678h”中连续数字串并且返回最长的数字字符串长度 public static StringBuffer getMaxNum(String str1) { int maxLength=0; StringBuffer max...
  • zhangxiaomin1992
  • zhangxiaomin1992
  • 2016-07-09 17:18
  • 1963

好未来2017秋招笔试:字符串中找出连续最长的数字串

题目描述: 读入一个字符串str,输出字符串str中的连续最长的数字串 输入描述:测试输入包含1个测试用例,一个字符串str,长度不超过255。 输出描述:在一行内输出str中里连续最长的数字串。 输入例子:abcd12345ed125ss123456789 输出例子:123456789
  • einarzhang
  • einarzhang
  • 2017-03-12 17:34
  • 695

编程珠玑: 15章 字符串 15.2寻找字符串中的最长重复子串 -------解题总结

#include #include #include #include //qsort using namespace std; /* 问题:给定一个文本文件作为输入,查找其中最长的重复子字符串。例如,“Ask not what your country can do for you, bu...
  • qingyuanluofeng
  • qingyuanluofeng
  • 2017-01-21 21:09
  • 291

字符串中找出连续最长的数字串

/* 功能:在字符串中找出连续最长的数字串,并把这个串的长度返回 函数原型:    unsigned int Continumax(char** pOutputstr,  char* intputstr) 输入参数:    char* intputs...
  • jw903
  • jw903
  • 2015-05-10 21:36
  • 505
    个人资料
    • 访问:131384次
    • 积分:4104
    • 等级:
    • 排名:第8942名
    • 原创:290篇
    • 转载:4篇
    • 译文:0篇
    • 评论:3条
    博客专栏
    最新评论