华为OD机试高频题库(真题+通俗解析+可直接运行代码).docxVIP

  • 0
  • 0
  • 约4.13千字
  • 约 6页
  • 2026-09-01 发布于河北
  • 举报

华为OD机试高频题库(真题+通俗解析+可直接运行代码).docx

华为OD机试高频题库(真题+通俗解析+可直接运行代码)

一、一星基础必考(简单题,必拿分)

题目1:最长公共子串(高频A卷)

题目描述:输入两行字符串(仅字母、数字、空格),长度2-100,找出两个字符串的最长连续公共子串。无公共子串输出0,有多个长度相同的最长子串,输出最先出现的那个。

输入示例:

abc12345

bc12xy

输出示例:bc12

解题思路:暴力枚举短字符串的所有子串,逐个去长字符串中匹配,记录最长、最先出现的子串。考场不用动态规划优化,暴力写法最简单、不翻车、通过率100%。

Python代码:

python

s1=input().strip()

s2=input().strip()

#保证s1是短串,减少循环次数

iflen(s1)len(s2):

s1,s2=s2,s1

max_len=0

res=

#枚举所有子串起始和结束位置

foriinrange(len(s1)):

forjinrange(i+1,len(s1)+1):

sub=s1[i:j]

ifsubins2:

#更长则更新,同长度不更新(保留最先出现)

iflen(sub)max_len:

ma

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档