华为OD机考双机位C卷 - 字符串化繁为简 (Java & Python & JS & GO & C++ & C)

字符串化繁为简

2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷

华为OD机试双机位C卷真题目录点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)

题目描述

给定一个输入字符串,字符串只可能由英文字母( ‘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’),由于等效关系可以传递,因此最终等效字符集合为(‘d’, ‘o’, ‘n’, ‘t’, ‘r’, ‘u’),将输入字符串里的剩余部分按字典序最小的等效字符替换后得到"devedgivedp’

输入描述

input_string

输入为1行,代表输入字符串

备注

输入字符串的长度在1~100000之间

输出描述

output_string

输出为1行,代表输出字符串

示例1

输入

()abd

输出

abd

说明

输入字符串里没有被小括号包含的子字符串为"abd",其中每个字符没有等效字符,输出为"abd"

示例2

输入

(abd)demand(fb)()for

输出

aemanaaor

示例3

输入

()happy(xyz)new(wxy)year(t)

输出

happwnewwear

说明

等效字符集为(‘x’, ‘y’, ‘z’, ‘w’),输入字符串里没有被小括号包含的子字符串集合为"happynewyear",将其中字符替换为字典序最小的等效字符后输出为:“happwnewwear”

示例4

输入

()abcdefgAC(a)(Ab)(C)

输出

AAcdefgAC

说明

等效字符集为(‘a’, ‘A’, ‘b’),输入字符里没有被小括号包含的子字符串集合为"abcdefgAC",将其中字符替换为字典序最小的等效字符后输出为:“AAcdefgAC”

解题思路

题目的核心要求是对字符串中的字符进行等效关系的解析和替换,其中小括号内的字符表明了字符之间的等效关系,等效关系可以跨多个小括号传递,且大小写字母也视为等效。基于这些等效关系,我们需要替换字符串中未被小括号包围的字符,使用其等效集合中字典序最小的字符进行替换。

具体如下:

  1. 等效字符集 :当字符被包含在小括号中时,且括号内必须是多个字符,这些字符互相等效。例如在 (abd) 中, ab 、和 d 互相等效。

  2. 传递性 :等效关系具有传递性,即如果 a 等效于 b ,且 b 等效于 c ,则 a 也等效于 c 。例如,如果 (a)(Ab) ,则由于 aA 都等效,并且 Ab 等效,最终 aAb 三者互相等效。

  3. 大小写等效 :题目规定不同大小写的同一字母也是等效的,即 A 等效于 a

  4. 输出字符的选择 :对于字符串中未被小括号包含的每个字符,需要在其所有等效字符中选择字典序最小的字符进行替换。

  5. 示例解释

    • ()abd :没有括号内字符,所以 abd 不变。

    • (abd)demand(fb)()for :这里 abdfb 中的字符互相等效,因此输出替换后的 demandforaemanaaor

    • ()happy(xyz)new(wxy)year(t) :这里 xyzwxy 中的字符互相等效, t 无关系,所以替换 happynewyear 中的 x , y , w 为字典序最小的 w

    • ()abcdefgAC(a)(Ab)(C) :这里 a , A , b 互相等效,所以在 abcdefgAC 中, a , bC 被替换为 A

posted @ 2026-03-09 23:19  华为od算法大师  阅读(1)  评论(0)    收藏  举报