練習題:
1. 三個同樣的字母連在一起,一定是拼寫錯誤,去掉乙個的就好啦:比如 helllo -> hello
2. 兩對一樣的字母(aabb型)連在一起,一定是拼寫錯誤,去掉第二對的乙個字母就好啦:比如 helloo -> hello
3. 上面的規則優先「從左到右」匹配,即如果是aabbcc,雖然aabb和bbcc都是錯誤拼寫,應該優先考慮修復aabb,結果為aabcc
請聽題:請實現大錘的自動校對程式
第一行包括乙個數字n,表示本次用例包括多少個待校驗的字串。後面跟隨n行,每行為乙個待校驗的字串。
n行,每行包括乙個被修復後的字串。示例1
2helloo
wooooooow
hello思路:感覺正則會比較簡單去解題,就寫下了以下**woow
import re
def aaa(matched):
value = matched.group(1)
return str(value*2)
def aabb(matched):
value=matched.group()
return str(value[0:3])
def aabbcc(matched):
value = matched.group()
return str(value[0:3]+value[4:6])
n = int(input())
out = [ for i in range(n)]
for i in range(n):
string = input()
out[i] = re.sub(r'(.)\1', aaa, string)
out[i] = re.sub(r'(.)\1(.)\2', aabb, out[i])
out[i] = re.sub(r'(.)\1(.)\2(.)\3', aabbcc, out[i])
for match in out:
print (match)
第一步就是將3個字元以上連續相同字元變成兩個字元,如aaaaa,變成aa
第二步將aabb變成aab,第三步將aabbcc變成aabcc
"(.)\1(.)\2" 這個正則,
位元組跳動 萬萬沒想到之聰明的編輯
萬萬沒想到之聰明的編輯 三個同樣的字母連在一起,一定是拼寫錯誤,去掉乙個的就好啦 比如 helllo hello 兩對一樣的字母 aabb型 連在一起,一定是拼寫錯誤,去掉第二對的乙個字母就好啦 比如 helloo hello 上面的規則優先 從左到右 匹配,即如果是aabbcc,雖然aabb和bb...
聰明的妻子
聰明的妻子總是會在愛人面前扮演著不同角色。當愛人不開心時,她可以像個大姐姐般地去安慰他,直到他的嘴角露出幾許笑容 當愛人生病時,又像母親一樣地把他抱在懷裡輕輕拍打他的雙肩,並給他煲上一鍋好湯,讓他暖暖的 不過當自己有什麼委屈時,又會像個小孩子般在愛人面前哭泣,以博取他的呵護和安慰。1 老公是拿來愛的...
聰明的木匠
一位老木匠需要將一根長的木棒切成n段。每段的長度分別為l1,l2,ln 1 l1,l2,ln 1000,且均為整數 個長度單位。我們認為切割時僅在整數點處切且沒有木材損失。木匠發現,每一次切割花費的體力與該木棒的長度成正比,不妨設切割長度為1的木棒花費1單位體力。例如 若n 3,l1 3,l2 4,...