A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如  abcde  
输出
ab   bc   cd   bcd   cde   abcd   bcde    abcde


1 个回复

倒序浏览
本帖最后由 仰望的繁华 于 2015-1-28 20:46 编辑

1. 遍历找到第一个字母
2. 从下一个开始,判断ASCII当前-前一个 == 1 ?
3. 符合则计数,并继续向后判断。
4. 不符则从这个不符的开始,找之后(包括当前这个)第一个字母
5. 回到第二步

本人初学,随便说说想法,错了欢迎指正。
额,开始没看清楚题目要求,我这想法貌似只能找最大串,不包括子串啊...容我再想想。
//  i:从2位 到 比长度少1位 的不同长度的子串
for(int i = 2; i < strlen(str); i++)
{
    // j:判断1~i个后续字符,对应上面 i 要找的当前长度i的子串
    for(int j = 0; j < i; j++)
    {
       // 上面提到的判断ASCII差值的方法
    }
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马