You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python无导包实现:查找列表w的最长前缀(同时为w2后缀)

实现需求

给定两个列表,实现如下签名的函数:

def function(w,w2): # => this is how I want to define my function (no more inputs than this 2 lists)

函数需要返回w的最长前缀,且该前缀同时是w2的后缀,实现全程不能导入任何模块,仅使用Python基础逻辑。

实现思路
  • 匹配长度存在天然上限:前缀长度不能超过w的总长度,后缀长度不能超过w2的总长度,因此最大可能匹配长度为两个列表长度的最小值
  • 校验逻辑从最大可能长度开始,按长度从高到低遍历:第一个满足「w前k个元素与w2最后k个元素完全相等」的k值对应的前缀,即为目标最长前缀,直接返回即可,无需继续校验更短的长度
  • 遍历完所有非零长度仍无匹配时,返回空列表
完整代码
def function(w, w2):
    # 计算最长可能的匹配长度
    max_match_len = min(len(w), len(w2))
    # 从长到短遍历所有可能的匹配长度
    for k in range(max_match_len, 0, -1):
        # 对比w前缀和w2后缀
        if w[:k] == w2[-k:]:
            return w[:k]
    # 无匹配非空前缀时返回空列表
    return []
校验示例

几个典型场景的运行结果:

  • 入参w = [1,2,3,4]、w2 = [0,1,2,3]时,返回[1,2,3]
  • 入参w = ['a','b']、w2 = ['b','c','d']时,返回[]
  • 入参w = [True, 0, 'test']、w2 = [1, False, True, 0, 'test']时,返回[True, 0, 'test']

内容的提问来源于stack exchange,提问作者Margarida Mendonça

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:39:27