小美是美团的前端工程师,为了防止系统被恶意攻击,小美必须要在用户输入用户名之前做一个合法性检查,一个合法的用户名必须满足以下几个要求: 1. 用户名的首字符必须是大写或者小写字母。 2. 用户名只能包含大小写字母,数字。 3. 用户名需要包含至少一个字母和一个数字。 如果用户名合法,请输出“Accept”,反之输出“Wrong”。
输入第一行包含一个正整数T,表示需要检验的用户名数量。(1<=T<=100) 接下来有T行,每行一个不超过20的字符串s,表示输入的用户名。
对于每一个输入的用户名s,请输出一行,即按题目要求输出一个字符串。
5 Ooook Hhhh666 ABCD Meituan 6666
Wrong Accept Wrong Wrong Wrong
考点:字符串
数据规模 T ≤ 100 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:字符串
本题切入点
按要求逐条校验:首字符为字母、只含字母数字、至少各含一个字母和一个数字。
按字符逐个处理,或利用字符串的前后缀性质加速匹配。
思路框架(字符串 通法 · 非本题专属)
实现要点:Python 切片 s[l:r+1] 取子串;注意字符串不可变,频繁拼接改用 list。
复杂度:时间 O(n) ~ O(n²) | 空间 O(n)
该范式的通法易错点
对照本题
样例 1
5 / Ooook / Hhhh666 / ABCD / Meituan / 6666Wrong / Accept / Wrong / Wrong / Wrong解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:美团2023校招技术第3场编程题。