84 lines
2.0 KiB
Java
84 lines
2.0 KiB
Java
|
//在一个 平衡字符串 中,'L' 和 'R' 字符的数量是相同的。
|
|||
|
//
|
|||
|
// 给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。
|
|||
|
//
|
|||
|
// 注意:分割得到的每个字符串都必须是平衡字符串。
|
|||
|
//
|
|||
|
// 返回可以通过分割得到的平衡字符串的 最大数量 。
|
|||
|
//
|
|||
|
//
|
|||
|
//
|
|||
|
// 示例 1:
|
|||
|
//
|
|||
|
//
|
|||
|
//输入:s = "RLRRLLRLRL"
|
|||
|
//输出:4
|
|||
|
//解释:s 可以分割为 "RL"、"RRLL"、"RL"、"RL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。
|
|||
|
//
|
|||
|
//
|
|||
|
// 示例 2:
|
|||
|
//
|
|||
|
//
|
|||
|
//输入:s = "RLLLLRRRLR"
|
|||
|
//输出:3
|
|||
|
//解释:s 可以分割为 "RL"、"LLLRRR"、"LR" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。
|
|||
|
//
|
|||
|
//
|
|||
|
// 示例 3:
|
|||
|
//
|
|||
|
//
|
|||
|
//输入:s = "LLLLRRRR"
|
|||
|
//输出:1
|
|||
|
//解释:s 只能保持原样 "LLLLRRRR".
|
|||
|
//
|
|||
|
//
|
|||
|
// 示例 4:
|
|||
|
//
|
|||
|
//
|
|||
|
//输入:s = "RLRRRLLRLL"
|
|||
|
//输出:2
|
|||
|
//解释:s 可以分割为 "RL"、"RRRLLRLL" ,每个子字符串中都包含相同数量的 'L' 和 'R' 。
|
|||
|
//
|
|||
|
//
|
|||
|
//
|
|||
|
//
|
|||
|
// 提示:
|
|||
|
//
|
|||
|
//
|
|||
|
// 1 <= s.length <= 1000
|
|||
|
// s[i] = 'L' 或 'R'
|
|||
|
// s 是一个 平衡 字符串
|
|||
|
//
|
|||
|
// Related Topics 贪心 字符串 计数 👍 143 👎 0
|
|||
|
|
|||
|
package leetcode.editor.cn;
|
|||
|
|
|||
|
//1221:分割平衡字符串
|
|||
|
class SplitAStringInBalancedStrings {
|
|||
|
public static void main(String[] args) {
|
|||
|
//测试代码
|
|||
|
Solution solution = new SplitAStringInBalancedStrings().new Solution();
|
|||
|
}
|
|||
|
|
|||
|
//力扣代码
|
|||
|
//leetcode submit region begin(Prohibit modification and deletion)
|
|||
|
class Solution {
|
|||
|
public int balancedStringSplit(String s) {
|
|||
|
int num = 0;
|
|||
|
int count = 0;
|
|||
|
for (char ch : s.toCharArray()) {
|
|||
|
if (ch == 'L') {
|
|||
|
num++;
|
|||
|
} else {
|
|||
|
num--;
|
|||
|
}
|
|||
|
if (num == 0) {
|
|||
|
count++;
|
|||
|
}
|
|||
|
}
|
|||
|
return count;
|
|||
|
}
|
|||
|
}
|
|||
|
//leetcode submit region end(Prohibit modification and deletion)
|
|||
|
|
|||
|
}
|