码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 最长公共字符串后缀


    目录:

    • 🌵🌵🌵前言
    • 题目
    • 代码
    • ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

    🌵🌵🌵前言

    ✨你好啊,我是“ 怪& ”,是一名在校大学生哦。
    🌍主页链接:怪&的个人博客主页
    ☀️博文主更方向为:课程学习知识、作业题解、期末备考。随着专业的深入会越来越广哦…一起期待。
    ❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
    💪很高兴与你相遇,一起加油!

    题目

    给出若干个字符串,输出这些字符串的最长公共后缀。

    • 输入格式
      由若干组输入组成。

      每组输入的第一行是一个整数 N。

      N 为 0 时表示输入结束,否则后面会继续有 N 行输入,每行是一个字符串(字符串内不含空白符)。

      每个字符串的长度不超过 200。

    • 输出格式
      共一行,为 N 个字符串的最长公共后缀(可能为空)。

    • 数据范围
      1≤N≤200

    • 输入样例:
      3
      baba
      aba
      cba
      2
      aa
      cc
      2
      aa
      a
      0

    • 输出样例:
      ba

      a

    代码

    #include 
    
    using namespace std;
    string s[210];
    int n;
    int main(){
        while(cin>>n,n){//输入0结束
            int len=999999;//记录最短字符串长度
            for(int i=0;i<n;i++){
                cin>>s[i]; //输入n个字符串
                int len1=s[i].length();
                if(len1<len) len=len1; //若有更小,则更新
            }
            // cout<
            
            
            while(len){
                int success=1;// 记录长度为len时是否比对成功,若失败则len-1
                for(int i=1;i<n;i++){//拿第1-n个字符串与第0个字符串比对
                    int cmp=1;//记录第i个字符串比对情况
                    for(int j=1;j<=len;j++){//比对后缀片段
                        if(s[0][s[0].length()-j] != s[i][ s[i].length()-j]){
                            cmp=0;
                            break;
                        }
                    }
                    if(cmp==0){//如果第i个字符串比对失败,则退出
                        success=0;
                        break;
                    }
                }
                if(success) break;
                len--;//len-1,再次重新比对
            }
            
            cout<<s[0].substr(s[0].length()-len)<<endl;
        }
        
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    ❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!

  • 相关阅读:
    在10.24这个特殊的日子里,带你详细解读1024!
    大机中的asm example
    拓扑排序的扩展
    K8S笔记 - 查看微服务日志
    【Vue】ElementUI实现登录注册
    【java学习—八】包装类和toString(3)
    Minio分布式存储系统
    mac在vmware version上搭建三台虚拟机并配置网关用以hadoop集群
    大数据学习的一些概念(值得背)
    java计算机毕业设计物业综合信息管理系统MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/qq_21471309/article/details/126329005
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号