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)
|
||
|
||
} |