L1-058 6翻了 (15 分)

摘要
Title: L1-058 6翻了 (15 分)
Tag: 双指针
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

L1-058 6翻了 (15 分)

  • 题意

    “666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!
    本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。

  • 思路

    双指针
    以i为左端点,j为右端点,是6就往右跑,判断两者之差,并做替换即可

  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    '''
    Author: NEFU AB-IN
    Date: 2022-04-16 21:45:20
    FilePath: \ACM\GPLT\L1-058.PY
    LastEditTime: 2022-04-16 21:49:01
    '''
    s = list(input())
    i = 0
    while i < len(s):
    if s[i] != '6':
    i += 1
    continue
    j = i
    while j < len(s) and s[j] == '6':
    j += 1
    if j - i > 9:
    s[i:j] = ['27']
    elif j - i > 3:
    s[i:j] = ['9']
    i += 1
    print("".join(s))
使用搜索:谷歌必应百度