c034: P66 交錯字串(APCS106年10月試題)
Tags : Python
Accepted rate : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2025-01-07 09:11

Content

 

問題描述 (原題目我認為翻譯的不順,所以我略微調整如下,詳細可以對照原題目)

一個字串如果全由大寫英文字母組成,我們稱為大寫字串;如果全由小寫字母組成則稱為小寫字串。字串的長度是它所包含字母的個數。在本題中,字串均由大小寫英文字母組成。本題定義k-交錯字串」如下:假設k是一個自然數,如果它是由長度為k的大寫字串與長度為k的小寫字串交錯串接組成,則稱此字串為「k-交錯字串」。

舉例來說,「StRiNg」是一個1-交錯字串,因為它是一個大寫一個小寫交替出現;而「heLLow」是一個2-交錯字串,因為它是兩個小寫接兩個大寫再接兩個小寫。但不管k是多少,「aBBaaa」、「BaBaBB」、「aaaAAbbCCCC」都不是k-交錯字串。

本題的目標是對於給定k值,在一個輸入字串找出最長一段連續子字串滿足k-交錯字串的要求。例如k=2且輸入「aBBaaa」,最長的k-交錯字串是「BBaa」,長度為4。又如k=1且輸入「BaBaBB」,最長的k-交錯字串是「BaBaB」,長度為5。

請注意,滿足條件的子字串可能只包含一段小寫或大寫字母而無交替,如範例二。此外,也可能不存在滿足條件的子字串,如範例四。

 

Input
Output

[1, 1, -1, -1, -1, -1, 1, 1, 1, -1, -1, 1, 1]
[0, 2, 4, 3, 2, 2]
6

Sample Input #1


											
										
Sample Output #1
1
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (100%): 1.0s , <1K
Hint :
Tags:
Python
出處:
[管理者: zero(育達管理員) ]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」