尋找蛇形字串python實現

2021-09-13 11:21:33 字數 1421 閱讀 6001

輸入乙個字串(不含空格),請尋找輸入中包含的所有蛇形字串。

1. 蛇形字串的定義:

1.1 字元對定義:字元對有同一字母的大小組成(前大後小),如:aa,dd。

1.2 蛇形字串中包含的字元對必須是連續的字母,並按照字母排序表排序,如:aabbcc。

2. 從輸入字串中尋找字元組成蛇形字串(字元順序不限),符合規則:

2.1 每次尋找最長的蛇形字串。

2.2 使用過的字元不能重複使用。

3. 輸出按首字母排序,如果首字母相同則按長度排序。

def run():

string = input()

out_ls =

while true:

char_ls = [x for x in string if ('a'<=x<='z') and (x.lower() in string)]

if len(char_ls)==0:

break

select_ls = list(set(char_ls))

loc_ls = ['_']*26

for x in select_ls:

loc_ls[ord(x)-ord('a')] = x

loc_str = ''.join(loc_ls)

item_ls = loc_str.split('_')

item_ls = sorted(item_ls, key=lambda x: len(x))

string_ls = [x for x in string]

for x in item_ls[-1]:

string_ls.remove(x)

string_ls.remove(x.lower())

string = ''.join(string_ls)

if len(out_ls)==0:

print('not found')

else:

out_ls = sorted(out_ls, key=lambda x: len(x), reverse=true)

out_ls = sorted(out_ls, key=lambda x: x[0])

for x in out_ls:

for xx in x:

print(xx+xx.lower(), end='')

print()

run()

測試一

輸入:sxxsrr^aass

輸出:aa

rrss

ss測試二

輸入:swse$345456dd$$#e#eswsxxsssaawdxxdderfvcrfer65645g^^%%^unbnvcctrchnyvcxcvvcfr

輸出:ccddeeff

ccddee

rrss

ssvvww

蛇形字串

輸入乙個字串 不含空格 請尋找輸入中包含的所有蛇形字串 蛇形字串的定義 1.蛇形字串由連續字元對組成,其特點如下 2.從輸入中尋找字元組成蛇形字串 字元順序不限 符合規則 輸入描述 輸出描述 coding utf 8 def research ss list1 a b c d e f g h i j...

尋找字串

時間限制 1 sec 記憶體限制 128 mb 對於乙個字串 s,定義乙個函式 s x 表示 s 中有多少個子串 x。現在給定 s a s b s ab s ba 的值,求滿足這 4 個值的字串 s,如果有多個滿足條件的字串,輸出字典序最小的。輸入乙個 t t 50 表示 t 組資料。對於每組資料按...

尋找字串

某天,蒜頭君和花椰妹在公園裡散步,走著走著,我的天 他們各自都撿到了一串漂亮的字串,然而蒜頭君好奇心比較重,他想知道自己的字串在花椰妹的字串 現了多少次,例如花椰妹的字串為abababa,蒜頭君的字串為aba,那麼蒜頭君的字串在花椰妹的字串 現了3次。蒜頭君一向比較傲嬌,於是向你請教,你可以幫幫他麼...