描述

有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。想检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的右边界点在S2的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。如果没有满足条件的S1,S2存在,则输出-1。

例如,S = "abcd123ab888efghij45ef67kl", S1="ab", S2="ef",其中,S1在S中出现了2次,S2也在S中出现了2次,最大跨距为:18。

输入

三个串:S, S1, S2,其间以逗号间隔(注意,S, S1, S2中均不含逗号和空格);

输出

S1和S2在S最大跨距;若在S中没有满足条件的S1和S2,则输出-1。

样例输入

abcd123ab888efghij45ef67kl,ab,ef

样例输出

18

思路:先用s.find找到字符串最左边子串的下标,再用s.rfind找到子串最左边元素的下标,注意,不能直接用下标相减,因为这个时候还有左边子串的字符串长度,所以需要减去以后才能得到两个子串之间的距离。

代码

SS = input().split(",") s,s1,s2 = SS[0],SS[1],SS[2] a = s.find(s1) b = s.rfind(s2) c = len(s1) if b-a-c >= 0: print(b-a-c) else: print("-1")

python练习题038:字符串最大跨距相关推荐

  1. Python练习题——统计字符串中分别有多少个字母数字空格及特殊字符

    # 统计字符串中分别有多少个字母数字空格及特殊字符 # 如: # 输入 # str='123as###fcef87e4%&*jb s wqed 41 24 你好1234v3' # 输出 # 字 ...

  2. RUNOOB python练习题27 递归逆向输出字符串

    用来练手的python练习题,原题链接: python练习实例27 题干: 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来. 实际要实现这个功能很简单,我们只需要反向遍历字符串即可.源代 ...

  3. 叠数的加法与字符串 RUNOOB python练习题 18

    用来练手的python 练习题其十八,原链接 : python练习实例18 题干: 求s=a+aa+aaa+aaaa+aa-a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共 ...

  4. Python字符串的截取|Python练习题

    一.字符串简介 字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 字符串的创建很简单,只要为变量分配一个值即可.例如: str1 = 'Hello ...

  5. 《每天五分钟冲击python基础之字符串练习题》(七)

    前言 相信通过上两节课的学习,同学们都已经能轻松掌握了,python字符串的入门和字符串的深入了,(ps:如果还没有学习的同学,请到这里先学习,再来看这节课喔!<每天五分钟冲击python基础之 ...

  6. python编程输入标准-Python练习题,,T1.编写程序,输入

    Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...

  7. RUNOOB python练习题33 使用join方法实现用逗号分隔列表

    用来练手的python练习题,原题链接:python练习实例33 题干: 按逗号分隔列表 用逗号分隔列表,我们就想到了join方法. str.join(sequence)可以用自定的str字符串分隔一 ...

  8. RUNOOB python练习题30 回文数

    用来练手的python练习题 30.原题链接:python练习实例30 题干 : 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同. 与上一个例题类似,判断一个数是 ...

  9. RUNOOB python练习题29

    用来练手的python练习题其29,原题链接:python练习实例29 题干 : 给一个不多于5位的正整数,要求:一.求它是几位数,二.逆序打印出各位数字. 实际这个正整数无论位数,在python3中 ...

最新文章

  1. 计算机基础教案(XP操作系统)
  2. WinForm实现简单的拖拽文件到出题的功能(C#)(3)
  3. wince6下usb摄像头(UVC)使用指南
  4. BigDecimal的8种精度取舍方式
  5. thinkphp结合U方法,点击验证码刷新
  6. android demo示例代码,Android Service demo例子使用详解(示例代码)
  7. 新版本eclipse Neon 4.6.1,登录git报401 没有权限
  8. 作业 3 应用分支与循环结构解决问题 计算分段函数的值
  9. 安徽计算机技术学院蚌埠,安徽蚌埠技师学院2021年招生简章
  10. 电脑屏幕蓝光过滤护眼工具:f.lux for Mac
  11. python登陆pc微信_GitHub - ccboby/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...
  12. 基于QtGUI的宠物小精灵对战游戏设计
  13. [面面面]搞定计算机面试常见知识点——Java篇
  14. # kubeadm ——k8S新节点加入集群-notready 问题解决
  15. C++学习系列(三)—— 泛型编程(STL)
  16. stata里php代码,stata字符型数据如何转数值型
  17. 哈工大软件构造lab3总结
  18. 构建表情符号制作应用程序
  19. WebBrowser 怎么样可以不保存SESSION?急!!!!!!!!!!!!
  20. [09]微信之itchat库

热门文章

  1. 微信小程序开发17 日志监控:怎样面向业务设计日志方案?
  2. Python金融数据挖掘 第7章 第3节 (7) 案例:基于股评文本的情绪分析
  3. 专业课的计算机培训,计算机专业课培训.ppt
  4. 印尼城市排名west java_印尼城市有哪些 印尼十大城市排名
  5. FreeCAD源码分析:FreeCADMain模块
  6. 【已解决】npm install -g @vue/cli加载一半报ERR!错误
  7. 【自动驾驶】汽车速度规划介绍
  8. 复合材料有限元仿真计算的应用方法浅析
  9. 在windows上,用cmake 交叉编译arm程序
  10. 解决笔记本播放声音时突然有杂音