https://leetcode-cn.com/problems/split-a-string-in-balanced-strings/
는 "평형 문자열"에서, 'L'과 'R'문자의 개수는 동일하다.
균형 잡힌 문자열의 감안할 때, 당신은 많은 균형 문자열 등으로 나눕니다.
반환 값은 평형의 최대 수는 문자열의 부분에 의해 얻어 질 수있다.
예 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'
닭 요리는 시도 :
제목의 생각을 읽은 후 : 분명히 욕심, 보조 어떤 데이터 구조의 필요? 스택? 대기열? (DO는 해결 될 수있다) O (n은해야 느낌이없는 것)
따라서 필기를 시작했다
1 급 솔루션 { 2 공개 : 3 의 INT balancedStringSplit ( 문자열 들) { 4 INT LEN = s.length (); 5 INT는 왼쪽 = 0 ; 6 INT의 오른쪽 = 0 ; 7 의 INT NUM = 0 ; 8 대 ( INT 난 = 0 ; I <LEN; I ++ ) { 9 경우 (S [I] == ' R ' ) 오른쪽 ++ ; 10 의 경우 (S [I] ==' L ' ) 왼쪽 ++ ; 11 의 경우 (좌측 == 오른쪽 왼쪽 &&! = 0 ) { 12 = 왼쪽 0 ; 13 오른쪽 = 0 ; 14 NUM ++ ; 15 } 16 } 17 리턴 NUM; 18 } 19 };
매우 신속하게 샘플을 통해 다시 잠시 생각하는 것은 다음 아닌 것으로 간주 특별한 상황 없어야합니다! 제출!
더블 백 너무!
출처 : 숙박 버튼 (LeetCode)
링크 : HTTPS : //leetcode-cn.com/problems/split-a-string-in-balanced-strings
모든 네트워크에서 공제 저작권. 상업 무단 전재 소스를 표시하시기 바랍니다 승인 된 공식, 비상업적 재판에 문의하시기 바랍니다.