华为OD机试-2024年E卷-字符串化繁为简[200分]
题目描述
给定一个输入字符串,字符串只可能由英文字母('a'~'z'、'A'~'Z') 和左右小括号('('、')')组成。当字符串里存在小括号时,小括号是成对的,可以有一个或多个小括号对,小括号对不会嵌套,小括号对内可以包含1个或多个英文字母,也可以不包含英文字母。当小括号对内包含多个英文字母时,这些字母之间是相互等效的关系,而且等效关系可以在不同的小括号对之间传递,即当存在'a'和'b'等效和存在'b'和'c'等效时,'a'和'c'也等效,另外,同一个英文字母的大写字母和小写字母也相互等效(即使它们分布在不同的括号对里)
需要对这个输入字符串做简化,输出一个新的字符串,输出字符串里只需保留输入字符串里的没有被小括号对包含的字符(按照输入字符串里的字符顺序),并将每个字符替换为在小括号对里包含的且字典序最小的等效字符。
如果简化后的字符串为空,请输出为"0"。
示例:
输入字符串为"never(dont)give(run)up(f)()",初始等效字符集合为('d'. 'o'. 'n'. 't')、 ('r'. 'u','n'),由于等效关系可以传递
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
华为OD题库 文章被收录于专栏
分享华为OD机试E卷真题,持续更新,点赞关注不迷路