輸入乙個字串(不含空格),請尋找輸入中包含的所有蛇形字串。
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次。蒜頭君一向比較傲嬌,於是向你請教,你可以幫幫他麼...