平衡奇偶位置的字符交换
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目名称:平衡奇偶位置的字符交换
题目描述
给定一个仅由字符 'A' 和 'B' 组成的字符串 S 。每次操作可以交换两个相邻的字符。要求通过最少的交换次数,使得字符串满足以下条件:
奇数位置(位置编号从 1 开始)上的 'A' 的数量等于偶数位置上的 'A' 的数量。
如果无法通过交换满足条件,则返回 -1 。
示例
输入: S = "AABABA"
奇数位置(1, 3, 5)的 'A' 数量:1(位置 1)
偶数位置(2, 4, 6)的 'A' 数量:3(位置 2, 4, 6)
操作:交换位置 2 和 3 的字符( 'A' 和 'B' ),得到 "ABAABA"
奇数位置 'A' 数量:2(位置 1, 5)
偶数位置 'A' 数量:2(位置 2, 6)
输出: 1 (最少交换次数)
输入要求
输入一个字符串 S ( 2 ≤ |S| ≤ 10^5 ),仅包含 'A' 和 'B' 。
输出要求
输出最少交换次数;若无法满足条件,输出 -1 。
样例输入与输出
AABABA
1