前往
大廳
主題

LeetCode - 1869. Longer Contiguous Segments of Ones than Zeros 解題心得

Not In My Back Yard | 2021-07-17 00:00:01 | 巴幣 0 | 人氣 87

題目連結:


題目意譯:
給定一二元字串 s ,回傳真(True)如果 s 中最長連續區段的「1」長於最長連續區段的「0」;反之,回傳假(False)。

例如, s = "110100010" 中最長連續區段的「1」長度為 2 ,而最長連續區段的「0」長度為 3 。

注意當 s 中沒有 0 時,最長連續區段的「0」視作為長度 0 。同樣地,當沒有「1」時也是類似如此。

限制:
1 ≦ s.length ≦ 100
s[i] is either '0' or '1'.



範例測資:
範例 1:
輸入: s = "1101"
輸出: true
解釋:
最長連續區段的「1」長度為 2 : "1101"
最長連續區段的「0」長度為 1 : "1101"
「1」的區段較長,所以回傳真。

範例 2:
輸入: s = "111000"
輸出: false
解釋:
最長連續區段的「1」長度為 3 : "111000"
最長連續區段的「0」長度為 3 : "111000"
「1」的區段沒有較長,所以回傳假。

範例 3:
輸入: s = "110100010"
輸出: false
解釋:
最長連續區段的「1」長度為 2 : "110100010"
最長連續區段的「0」長度為 3 : "110100010"
「1」的區段沒有較長,所以回傳假。


解題思維:
就是單純地去統計每個連續「0」或連續「1」各自的長度,如這題。然後判斷最長的連續「1」有沒有長過最長的連續「0」即可得到所求。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

更多創作