允许交换的限制是:只在相同的 ai 分组内任意交换 s 的字符。 因此,每个分组内 s 的字符可以任意重排。要让重排后的 s 与 t 同构(即 ti 是 si 的大写),等价于:
给定一个长度为n的仅由小写字母组成的字符串s,一个长度为n的仅由大写字母组成的字符串t,以及一个长度为n的数组{a1,a2,...,an} (ai∈{0,1})。
对于任意两个不同的下标1≦i<j≦n,如果ai=aj,则允许将字符串s中下标为i与j的字符交换。
如果可以通过上述交换,使得对所有1≦i≦n都有ti是si的对应大写字母,则称s与t是同构的。你的任务是判断它们是否同构。
开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写