空の文字列を考慮して、Pythonの1と0の文字列で最も長く繰り返される1の長さを見つける方法を知りました。 '1011110111111'
は6
を返し、''
は0
を返します。文字列内の最も長い繰り返し1の長さを見つける
過去の記事は、正規表現を使用して
max([len(i) for i in re.compile('(1+1)').findall(count)])
を示唆したが、それは1つの1のためのケースと空の文字列をカウントしません。
空の文字列を考慮して、Pythonの1と0の文字列で最も長く繰り返される1の長さを見つける方法を知りました。 '1011110111111'
は6
を返し、''
は0
を返します。文字列内の最も長い繰り返し1の長さを見つける
過去の記事は、正規表現を使用して
max([len(i) for i in re.compile('(1+1)').findall(count)])
を示唆したが、それは1つの1のためのケースと空の文字列をカウントしません。
ちょうどセパレータとして「0」を使用して文字列を分割して、リスト内の最長のアイテムを見つける:これは、ループカウンタを行うのは非常に簡単です
s = '1011110111111'
result = len(max(s.split('0')))
Anaconda3ディストリビューションのWindows 10のPython 3.5.2では、空の文字列に '0'が返されます。どのバージョンのPythonを使用していますか? –
興味深い。それを考えずに、大文字では 'max(map(len、s.split( '0')))'の方がはるかに高速だと思っていましたが、試した文字列であれば 's.split 0 ') 'とにかくほとんどの時間がかかりました。しかし、どちらのソリューションもO(len(s))だと思います。 –
を。あなたが行った試みを示してください。 –