4073:最长公共字符串后缀(Longest String Postfix)
总时间限制: 1000ms 内存限制: 65536kB
描述
给出若干个字符串,输出这些字符串的最长公共后缀。

输入
由若干组输入组成。每组输入的第一行是一个整数N(N<=200)。N为0时表示输入结束,否则后面会继续有N行输入,每行是一个字符串(字符串内不含空白符)。每个字符串的长度不超过200。
输出
一行,为N个字符串的最长公共后缀(可能为空)。
样例输入
3
baba
aba
cba
2
aa
cc
2
aa
a
0
样例输出
ba

a

问题链接:Bailian4073 最长公共字符串后缀
问题简述:(略)
问题分析
    若干个字符串的后缀, 也是一个字符串,其最长长度只能是那些字符串的最短长度。所以需要算一下所有字符串的最短长度。求的是公共字符串后缀,把所有字符串逆序一下处理起来比较方便。对所有字符串,从第1个字符开始,暴力渐次比较一下就可了,发现2个字符串的某2个字符不等就可以停下来了。
    输出时,也需要字符串逆序一下。
程序说明:用goto语句退出多重循环是方便的。
参考链接:(略)
题记:有限使用goto语句是方便的。

AC的C++语言程序如下:

/* Bailian4073 最长公共字符串后缀 */#include <iostream>
#include <algorithm>using namespace std;const int N = 200;
string s[N];int main()
{int n;while(cin >> n && n) {getline(cin, s[0]);int minlen = N;for(int i = 0; i < n; i++) {getline(cin, s[i]);reverse(s[i].begin(), s[i].end());minlen = min(minlen, (int)s[i].size());}string ans;for(int i = 0; i < minlen; i++) {for(int j = 1; j < n; j++)if(s[j][i] != s[0][i]) goto output;ans  += s[0][i];}output:reverse(ans.begin(), ans.end());cout << ans << endl;}return 0;
}

Bailian4073 最长公共字符串后缀【文本处理】相关推荐

  1. 北大OJ百练——4073:最长公共字符串后缀(C语言)

    刚刚看到一道北大的OJ题,很简单的一道题.原题如下(偷个懒,直接截图): 看完这道题,我想大家都和我一样觉得这道题很简单,事实也是如此,毕竟通过率很高. 我先来说一下我的思路吧.我是想先把这些所有的字 ...

  2. 每日算法刷题Day10-字符串最大跨距、最长公共字符串后缀

    CSDN话题挑战赛第2期 参赛话题:算法题解 ⭐每日算法题解系列文章旨在精选重点与易错的算法题,总结常见的算法思路与可能出现的错误,与笔者另一系列文章有所区别,并不是以知识点的形式提升算法能力,而是以 ...

  3. 字符串最长公共前缀后缀长度

    首先,要了解两个概念:"前缀"和"后缀". "前缀"指除了最后一个字符以外,一个字符串的全部头部组合:"后缀"指除了第一 ...

  4. 最长公共子串_两个字符串的最长公共子串(后缀自动机)

    // 最长公共子序列(后缀自动机) typedef struct state {int len, link;map<char, int> next; }state;const int MA ...

  5. 7-3 最长公共前后缀

    字符串的前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串:后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串.例如对于字符串 abacaba,其前缀有 a, ab, aba, aba ...

  6. 7-3 最长公共前后缀

    字符串的前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串:后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串.例如对于字符串 abacaba,其前缀有 a, ab, aba, aba ...

  7. 7-1 最长公共前后缀

    字符串:abcdabcdabce 其未优化next数组:-1 0 0 0 0 1 2 3 4 5 6 7 最长公共前后缀: 0 0 0 0 1 2 3 4 5 6 7 0 最长公共前后缀和特征值有很大 ...

  8. 最长公共前后缀(KMP中next数组求法)

    字符串的前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串:后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串.例如对于字符串 abacaba,其前缀有 a, ab, aba, aba ...

  9. C++longest common string最长公共字符串的实现(附完整源码)

    C++longest common string最长公共字符串的实现 longest common string最长公共字符串实现的完整源码(定义,实现,main函数测试) longest commo ...

最新文章

  1. 高逼格UILabel的闪烁动画效果
  2. restful api与传统api的区别(方式及语法)
  3. 【Python】青少年蓝桥杯_每日一题_9.11_买鸡
  4. MultipartFile 文件上传
  5. ele表格操作区根据数据_Vue数据绑定
  6. 基于Huffman算法和LZ77算法的文件压缩的改进方向
  7. HDLC 和 PPP封装简介
  8. 设计模式 - Mediator
  9. java实现网页保存_详解Java两种方式简单实现:爬取网页并且保存
  10. 在 PHP 中使用命令行工具
  11. 在Windows上使用beginthreadex替换CreateThread的原因
  12. ECSHOP的订单状态在数据库中的表现(order_status, shipping_status, pay_status)
  13. 如何做WP的登录/注册功能
  14. IM设计思考:XMPP资源绑定
  15. 11gR2数据库RMAN完全恢复数据库
  16. 靖哥哥教你如何安装chrome浏览器离线插件
  17. win10每次开机桌面计算机就没有,怎样解决Win10开机需要按F1才能进入桌面
  18. C#的AES加密解密(ECB)
  19. 【音频处理】之Ubuntu sox / faad / ffmpeg 使用
  20. java安卓自动关机_android自动关机代码

热门文章

  1. fukk _GNU_SOURCE __USE_GNU
  2. In App Purchases 入门
  3. linux做伪分布时ip设置,Linux下伪分布模式的Hadoop部署
  4. C++小白课本练习3
  5. 力扣-图解算法数据结构-剑指 Offer 05. 替换空格
  6. 深大自考本科所需课程
  7. java static int count,static int bitCount(long i)
  8. Linux下redis基本安装配置(CentOS7)
  9. 限时促销_江北恒一乐优家丨限时优惠大促销
  10. 万年历24节气C语言,电子万年历24节气c程序