LeetCode刷题记录6——696. Count Binary Substrings(easy)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode刷题记录6——696. Count Binary Substrings(easy)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
LeetCode刷題記錄6——696. Count Binary Substrings(easy)
目錄
LeetCode刷題記錄6——696. Count Binary Substrings(easy)
題目
語言
思路
后記
題目
題目給定一個只包含0、1的字符串,要你算出這個字符串中,相同個數的0、相同個數的1組成的連續的子字符串有多少個,比如給定00110011,那么從頭開始算:0011算一個,因為0連續出現了2次而后1連續出現了2次,01算一個,因為0連續出現了1次而后1連續的出現了1次……。
語言
Java
思路
用count表示返回的幾種。此題的核心思想就是要記錄之前的數字重復了多少次,假如我知道之前的數字1出現了3次,那么之后的0如果出現1次,那么count就加1,當0出現超過3次后,count就每必要加1了。
用pre來記錄之前的數字出現了幾次,初值設為0;用cur表示當前數字出現了幾次。先依次比較相鄰兩數是否相等,如果相等,那么cur就加1;如果不相等,那么就說明“連續就斷了”,那么就應該把當前cur賦值給pre,cur重復位為1。如果pre>=cur,那么count++。
后記
感覺這種題目想法很容易有,但實現起來很困難,看來代碼還是得練,光想沒用。
總結
以上是生活随笔為你收集整理的LeetCode刷题记录6——696. Count Binary Substrings(easy)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode刷题记录5——441.
- 下一篇: LeetCode刷题记录7——824.