在网络安全中,评估密码的强度是重要的基本操作。请根据给定的密码字符串,判断其强度级别。 强度评估规则如下: 如果密码长度小于 8 ,则强度为 Weak ; 否则,检查密码中包含的字符类型(共四种):小写字母( a-z )、大写字母( A-Z )、数字( 0-9 )和特殊字符(非字母、非数字的可见字符); 如果包含所有四种类型,则强度为 Strong ; 如果包含正好三种类型,则强度为 Medium ; 其他情况,强度为 Weak 。 现在,给定多个密码字符串,请为每个密码输出其强度级别。 【名词解释】 可见字符集为 ASCII 码在 33 到 126 范围内的可见字符。您可以参阅下表获得其详细信息(您可能关注的内容是,这其中不包含空格、换行)。 ../图片/AllAscii.png
每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤ T≤ 100) 代表数据组数,每组测试数据描述如下: 在一行上输入一个由可见字符集构成的字符串 s (1 ≤ length(s) ≤ 20) ,表示密码。
对于每一组测试数据,新起一行。输出一个字符串,表示该密码的强度级别( Strong 、 Medium 或 Weak )。
3 Abc123!@ abc123 Password1!
Strong Weak Strong
考点:字符串 · 模拟
数据规模 T ≤ 100 | 限制 1 秒 / 256MB | 标准输入输出
推荐方向:模拟
不涉及复杂算法,把题目描述的流程原样翻译成代码逐步执行即可。
思路框架(模拟 通法 · 非本题专属)
实现要点:结构上通常是一个外层循环包住若干 if/else 分支;只要状态定义清楚,正确率很高。
复杂度:时间 O(操作次数) | 空间 O(状态数)
该范式的通法易错点
对照本题
样例 1
3 / Abc123!@ / abc123 / Password1!Strong / Weak / Strong解析由校招宝本地引擎整理(依据源站考点标签 / 人工判题标注 / 题面规模信号),非官方题解,仅供思路参考。
本题来源:2025年秋招-美团-测试岗-第二批笔试。