From ed0001536eb52845344b77a266c2393c8fd1e979 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Tue, 7 Sep 2021 15:53:25 +0800 Subject: [PATCH] =?UTF-8?q?1221:=E5=88=86=E5=89=B2=E5=B9=B3=E8=A1=A1?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/SplitAStringInBalancedStrings.java | 84 +++++++++++++++++++ .../content/SplitAStringInBalancedStrings.md | 52 ++++++++++++ 2 files changed, 136 insertions(+) create mode 100644 src/main/java/leetcode/editor/cn/SplitAStringInBalancedStrings.java create mode 100644 src/main/java/leetcode/editor/cn/doc/content/SplitAStringInBalancedStrings.md diff --git a/src/main/java/leetcode/editor/cn/SplitAStringInBalancedStrings.java b/src/main/java/leetcode/editor/cn/SplitAStringInBalancedStrings.java new file mode 100644 index 0000000..47ada6b --- /dev/null +++ b/src/main/java/leetcode/editor/cn/SplitAStringInBalancedStrings.java @@ -0,0 +1,84 @@ +//在一个 平衡字符串 中,'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) + +} \ No newline at end of file diff --git a/src/main/java/leetcode/editor/cn/doc/content/SplitAStringInBalancedStrings.md b/src/main/java/leetcode/editor/cn/doc/content/SplitAStringInBalancedStrings.md new file mode 100644 index 0000000..9da2ee3 --- /dev/null +++ b/src/main/java/leetcode/editor/cn/doc/content/SplitAStringInBalancedStrings.md @@ -0,0 +1,52 @@ +

在一个 平衡字符串 中,'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' 。
+
+ +

 

+ +

提示:

+ + +
Related Topics
  • 贪心
  • 字符串
  • 计数

  • 👍 143
  • 👎 0
  • \ No newline at end of file