给定一个仅由字符 'A' 和 'B' 组成的字符串 S,每次操作可以交换两个相邻的字符,要求通过最少的交换次数,使得字符串满足以下条件: 奇数位置(位置编号从 1 开始)上的 'A' 的数量 等于偶数位置上的 'A' 的数量。 如果无法通过交换满足条件,则返回 -1 。
输入要求: 输入一个字符串 S(2 ≤ |S| ≤ 10^5),仅包含 'A' 和 'B' 。
输出要求: 输出最少交换次数,若无法满足条件,输出 -1 。 数据范围:
AAABBA
1
示例: 输入:5 = "AAABBA" 输出:1(最少交换次数) 奇数位置(1, 3, 5)的 'A' 数量:1(位置 1) 偶数位置(2, 4, 6)的 'A' 数量:3(位置 2, 4, 6) 操作:交换位置 3 和 5 的字符('A' 和 'B'),得到 "BBAAA"
矩阵大小:2^2 到 102×102。 元素值范围:-10^9 到 10^9。