题目描述

有一条彩色宝石项链,是由很多种不同的宝石组成的,包括红宝石,蓝宝石,钻石,翡翠,珍珠等。有一天国王把项链赏赐给了一个学者,并跟他说,你可以带走这条项链,但是王后很喜欢红宝石,蓝宝石,紫水晶,翡翠和钻石这五种,我要你从项链中截取连续的一小段还给我,这一段中必须包含所有的这五种宝石,剩下的部分你可以带走。如果无法找到则一个也无法带走。请帮助学者找出如何切分项链才能够拿到最多的宝石。

输入描述:

我们用每种字符代表一种宝石,A表示红宝石,B表示蓝宝石,C代表紫水晶,D代表翡翠,E代表钻石,F代表玉石,G代表玻璃等等,我们用一个全部为大写字母的字符序列表示项链的宝石序列,注意项链是首尾相接的。每行代表一种情况。

输出描述:

输出学者能够拿到的最多的宝石数量。每行一个

示例1

输入

ABCYDYE
ATTMBQECPD

输出

1
3

代码实现

import syslines=sys.stdin.readlines()alpha_basic=['A','B','C','D','E']
for line in lines:line=line.strip()poly=''alpha=[]Index=[]for i,item in enumerate(line):poly+=itemif item in alpha_basic:alpha.append(item)Index.append(i)if sorted(list(set(alpha))) == alpha_basic:restart=i+1breakLength=len(line)line+=polyresult=Length+Index[0]-Index[-1]-1for i in range(restart,len(line)):if line[i] in alpha_basic:alpha.append(line[i])Index.append(i)alpha_=[]for j in reversed(alpha):alpha_.append(j)if sorted(list(set(alpha_))) == alpha_basic:breakalpha=alpha[-len(alpha_):]Index=Index[-len(alpha_):]result=max(result,Length+Index[0]-Index[-1]-1)print(result)

牛客网在线编程(7):彩色宝石项链-python相关推荐

  1. 牛客网在线编程----算法入门篇

    标题本篇博文主要是记录下自己的在线编程情况,初次练习,有的算法还待改进,大家有需要可以去牛客网上面多练练! 有需戳–>牛客网在线编程 NC65.题目描述 大家都知道斐波那契数列,现在要求输入一个 ...

  2. 《剑指Offer》面试题四(牛客网在线编程第一题):二维数组中的查找(Java实现)

    题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...

  3. 牛客网在线编程——二维数组中的查找

    今天是第二次用牛客的在线编程,上次还是去年的七月一号,已然过去近一年的时间,遇到了不少坑,首先题目看错了,没看到数据是有序的,其次就是对二维数组的输入有些不解,是用户手动输入还是现成的,没有说清楚,最 ...

  4. 牛客网 在线编程 局部最小值位置

    链接:https://www.nowcoder.com/questionTerminal/322eb1da892448f4b18d9b21a6d48c99 来源:牛客网 定义局部最小的概念.arr长度 ...

  5. Python:启程 数据分析-牛客网在线编程-中级函数12-23

    DA12 牛客网不同语言使用人数 当时没有做出来,看答案发现有pandas 计数函数value_counts(),详解参考了以下博主的文章 python value_counts()的基础及进阶用法( ...

  6. 解决牛客网在线编程,本地编译结果正确,提交结果不正确问题!!!

    代码提交后显示: 可我vs上编译的结果明明是对的啊: 经过网上一番查找,本地编译结果正确,提交结果不正确问题主要有两个原因: 1. 因为有多组测试用例,所以输入必须是必须是 while(cin> ...

  7. 牛客网在线编程专题《剑指offer-面试题28》字符串的排列

    我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容,分享 ...

  8. 牛客网在线编程专题《剑指offer-面试题33》把数组排成最小的数

    我的个人微信公众号:Microstrong 微信公众号ID:MicrostrongAI 微信公众号介绍:Microstrong(小强)同学主要研究机器学习.深度学习.计算机视觉.智能对话系统相关内容, ...

  9. 牛客网在线编程题之“换汽水”

    有这样一道智力题:"某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?"答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以 ...

最新文章

  1. 怎么用leangoo做需求管理及规划?(产品Backlog、用户故事)
  2. 【PP操作手册】生产订单的查询
  3. android开机启动service
  4. 第三周课程总结实验报告
  5. SQL Server 2005 技术内幕之T-SQL查询——逻辑查询处理(上)
  6. 全球气象数据网站(大气、海洋数据应有尽有)
  7. matlab偏最小二乘法
  8. python+django酒店客房餐饮管理系统vue源码
  9. iPhone 13,战略性“不香”!
  10. Are you referring to request attributes outside of an actual web request
  11. 情人辞职信 [搞笑,也来个好玩的乐一乐]
  12. 前端开箱即用的中后台管理模版,建议收藏
  13. 光谱预处理方法综述及分析策略选择
  14. Swagger2.0和resful规范
  15. 王者荣耀微信哪个服务器人多,王者荣耀:微信区比QQ区人数多,哪区实力水平高?代练道出真相...
  16. 半同步/半反应堆线程池实现
  17. 识别假币的三大诀窍!
  18. 淘宝排名查询接口,关键词排名api,淘宝商品排名查询api,淘宝关键词搜索查询接口
  19. 电影天堂APP项目开发之Python爬虫篇,共18课时/5时33分
  20. APP带第三方微博、微信、QQ等登录注册的登录注册流程分解

热门文章

  1. 【ATE-同步采样】NI采集卡的RTSI同步技术及LabVIEW的实现方法
  2. CT的”层”与“排”的区别
  3. el-table 动态隐藏现实列 表头高度异常问题
  4. 英语口语笔记B1-Unit05.休闲娱乐-03-Popular party games
  5. 更改计算机磁盘,win10X系统磁盘盘符如何更改 简单快速修改电脑磁盘盘符
  6. 一代二代三代测序的基本原理及区别是啥啊?
  7. HtmlEncode和JavaScriptEncode(预防XSS)
  8. js的隐藏姓名方式保护用户隐私,只显示首个汉字也就是姓,后面的隐藏,匿名方式
  9. mysql 字段类型默认长度
  10. IP的分类及子网掩码的计算