PHP算法之分割平衡字符串

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

提示:

1 <= s.length <= 1000
s[i] = 'L' 或 'R'

来源:力扣(LeetCode)

class Solution {

    /**
     * @param String $s
     * @return Integer
     */
    function balancedStringSplit($s) {

        $strlen = strlen($s);
        $res = 0;
        $sum = 0;

        for($i = 0; $i < $strlen; $i++)
        {
            if($s[$i] == 'L'){
                $sum++;
            }else{
                $sum--;
            }

            if($sum === 0){
                $res++;
            }

        }

        return $res;  
    }
}
posted @ 2019-12-02 22:07  野香蕉  阅读(222)  评论(0编辑  收藏  举报