📌  相关文章
📜  教资会网络 | UGC NET CS 2014 年 12 月 – III |问题 4(1)

📅  最后修改于: 2023-12-03 15:10:14.452000             🧑  作者: Mango

教资会网络 | UGC NET CS 2014 年 12 月 – III | 问题 4

这道题目考察的是程序员对数据结构的理解和编程能力。下面是题目内容:

给定一个字符串,找到最长的子字符串并输出其长度。子字符串必须是由相邻字符组成的。

代码实现
def longest_substring(string):
    length = 1
    max_length = 1
    for i in range(len(string) - 1):
        if string[i] == string[i+1]:
            length += 1
            if length > max_length:
                max_length = length
        else:
            length = 1
    return max_length
解释

这是使用 Python 语言实现的一个函数,输入一个字符串,返回最长的子字符串长度。

该函数使用了一个循环,依次遍历输入字符串中相邻的字符,记录当前相同字符数目和历史最大相同字符数目。如果找到一个不同的字符,更新当前相同字符数目为 1。

测试数据

可以使用以下几个测试数据来测试该函数的正确性:

assert longest_substring('abcdee') == 2
assert longest_substring('abccde') == 2
assert longest_substring('abbcdee') == 2
assert longest_substring('aaaabbbb') == 4
assert longest_substring('abcd') == 1