AlgoMooc
← 返回题库

P3008. 国际移动用户识别码(IMSI)匹配

中等通过率 35% · 提交 191 · 通过 67
双指针字符串模拟

小慕是核心网工程师,客户交给小慕一个任务:给定一个网络配置列表,每个配置是一个字符串,仅由数字和"*"、"?"符号组成。 输入用户的(国际移动用户识别码),根据以下规则匹配配置列表: - "*"匹配0个或连续多个任意字符。 - "?"匹配,比如123?中的"?"可以匹配123456789012345下标为3的字符'4',下标从0开始。

提示:带虚线的词点一下有通俗解释。

输入描述

输入第一行为网络配置列表,列表中的每个配置是由数字和"*"、"?"“组成的字符串,每个字符串中"*"不会超过一个,"?"若干,网络配置列表长度小于200,每个字符串以英文逗号隔开。 输入第二行为用户的IMSI(国际移动用户识别码),仅由数字组成,长度等于15 保证输入格式正确,无需考虑格式错误

输出描述

输出为满足匹配规则的配置字符串列表,列表按字典序升序输出,每个字符以英文逗号隔开。若没有满足条件的配置,则返回字符串"null"

示例

示例 1

输入

1234567,1234567*
123456789012345

输出

1234567*

说明:*可以匹配0或多个任意字符,故输出1234567*

示例 2

输入

123?????????345,123????*????345
123456789012345

输出

null

说明:"?"字符只能匹配IMSI中为奇数下标的字符,故都不符合要求,返回null

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「国际移动用户识别码(IMSI)匹配」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。