【华为OD机试真题】真正的密码(c++&java&python)

真正的密码

在一行中输入一个字符串数组Q,如果其中一个字符串的所有以索引O开头的子串在数组中都有,那么这个字符串就是潜在密码,在所有潜在密码中最长的是真正的密码,如果有多个长度相同的真正的密码,那么取字典序最大的为唯一的真正的密码,求唯一的真正的密码。
示例1:
输入:

h he hel hell hello o ok n ni nin ninj ninja

输出:

ninja

说明:按要求,hello、ok、ninja都是潜在密码。检查长度,hello、ninja是真正的密码。检查字典序,ninja是唯一真正密码。
示例2:
输入:

a b c d f

输出:

f

说明:
按要求,a b c d f都是潜在密码。检查长度,a b c d f是真正的密码。检查字典序,f是唯一真正密码。
解题思路:
利用set将字符串查找操作的时间复杂度降低,然后按照题目要求的几个条件取出真正的密码即可。
c++代码:


                
posted @   笑着的程序员  阅读(60)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示