leet-code/src/main/java/leetcode/editor/cn/SplitAStringInBalancedStrings.java

84 lines
2.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//在一个 平衡字符串 中,'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)
}