首页 > 试题广场 >

小乐乐与字符串

[编程题]小乐乐与字符串
  • 热度指数:12460 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在庆祝祖国母亲70华诞之际,老师给小乐乐出了一个问题。大家都知道China的英文缩写是CHN,那么给你一个字符串s,你需要做的是统计s中子序列“CHN”的个数。

序列的定义:存在任意下标a < b < c,那么“s[a]s[b]s[c]”就构成s的一个子序列。如“ABC”的子序列有“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”


输入描述:
输入只包含大写字母的字符串s。(1 ≤ length ≤ 8000)


输出描述:
输出一个整数,为字符串s中子序列“CHN”的数量。
示例1

输入

CCHNCHN

输出

7
示例2

输入

CCHNCHNCHNCHN

输出

30
s = input()
a = 0
b = 0
c = 0
for i in range(len(s)):
    if s[i] == 'C':    # 如果第一个符合
        a += 1
    elif s[i] == 'H':    # 遇到H的话就组成CH,此时有C个”CH“序列
        b = a + b
    elif s[i] == 'N':    # 找到“N”的时候,就是“CH”还有“N组成的CHN”
        c = b + c
print(c)

发表于 2021-09-02 10:12:58 回复(0)