• 1221. 分割平衡字符串


    1221. 分割平衡字符串

    在一个「平衡字符串」中,'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".

    解题思路

    题目要求通过分割得到的最大数量,即尽可能多的分割。
    定义一个变量balance,当balance为0时达到平衡
    从左往右扫描字符串s,遇到L,balance - 1,遇到R,balance + 1
    当balance为0时即,更新记录cnt ++
    如果最后cnt==0,说明s只需要保持原样,返回1
    【注意】看清楚题意:所有的输入s都是平衡字符串(即'L'和'R'的数量是相同的),所以不会有"RRRRLL"这样的输入

    代码:

    class Solution {
    public:
        int balancedStringSplit(string s) {
            int cnt = 0;
            int balance = 0;
            for(int i = 0; i < s.size(); i++){
                if(s[i] == 'L') balance --;
                if(s[i] == 'R') balance ++;
                if(balance == 0) cnt ++;
            }
            return cnt;
        }
    };

    代码:

    #include<iostream>
    using namespace std;
    class Solution {
    public:
        int balancedStringSplit(string s) {
            int L,R,count=0;
            int len = s.size();
            for(int i=0;i<len;i++){
                if(s[i]=='L')L++;
                else R++;
                if(L==R){
                    count++;
                    L=R=0;
                }                        
                
            } 
            return count;
        }
    };
    int main(){
        string str;
        cin>>str;
        Solution sol; 
        cout<<sol.balancedStringSplit(str)<<endl;
    
    } 

     

    因上求缘,果上努力~~~~ 作者:每天卷学习,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/13618614.html

  • 相关阅读:
    人民币大小写转换
    window.parent与window.openner区别
    jquery.honver(),toggle()
    ADO.NET Entity Framework 之“无法加载指定的元数据资源。”
    window.external 的用法(收藏夹功能)
    空链接的技巧
    IIS自动开通组件编程
    在Asp.net中操作IIS的虚拟目录(C#)
    最佳 .NET 网站推荐
    边框 top、clientTop、scrollTop、offsetTop
  • 原文地址:https://www.cnblogs.com/BlairGrowing/p/13618614.html
Copyright © 2020-2023  润新知