Python 实现找出字符串中至少出现两次的最长子串长度
以下是使用 Python 实现该功能的代码: ```python # 定义一个函数,用于找出至少出现两次的最长子串的长度 def longest_repeated_substring(s): n = len(s) # 初始化最大长度为 0 max_length = 0 # 遍历所有可能的子串长度 for length in range(1, n): # 遍历所有可能的子串起始位置 for i in range(n - length + 1): # 获取当前子串 sub_str = s[i:i + length] # 统计该子串在原字符串中出现的次数 count = s.count(sub_str) # 如果出现次数至少为 2 次 if count >= 2: # 更新最大长度 max_length = length return max_length # 读取输入的字符串 s = input() # 调用函数计算结果 result = longest_repeated_substring(s) # 输出结果 print(result) ``` ### 代码解释 1. **函数定义**:定义了一个名为 `longest_repeated_substring` 的函数,它接受一个字符串 `s` 作为参数,用于找出至少出现两次的最长子串的长度。 2. **初始化最大长度**:将最大长度 `max_length` 初始化为 0。 3. **遍历子串长度**:使用 `for` 循环遍历所有可能的子串长度,从 1 到字符串长度减 1。 4. **遍历子串起始位置**:对于每个子串长度,使用 `for` 循环遍历所有可能的子串起始位置。 5. **获取子串**:通过切片操作获取当前子串。 6. **统计子串出现次数**:使用 `count` 方法统计该子串在原字符串中出现的次数。 7. **更新最大长度**:如果子串出现次数至少为 2 次,则更新最大长度。 8. **返回结果**:返回最大长度。 9. **读取输入**:读取用户输入的字符串。 10. **调用函数**:调用 `longest_repeated_substring` 函数计算结果。 11. **输出结果**:输出计算得到的结果。 ######[AI问答 | 527点数解答 | 2026-03-29 15:44:30]
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)479
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)467
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)401
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)430
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)81
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)108
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)465
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)346
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)418
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)412
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)316
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)395