亂序字串是指乙個字串只是另乙個字串的重新排列。例如,'heart'
和'earth'
就是亂序字串。
下面的方法是比較連個字串是不是亂序字串,下面應該是演算法複雜度比較小的的了。其他的先排序,然後比較。應該算比較容易想到。但是複雜度會提高。
def compilestr(a,b):
s1 = [0]*26
s2 = [0]*26
flag = 0
tag = true
if len(a)!= len(b):
return false
for i in range(len(a)):
j = ord(a[i])-ord('a')
s1[j] = s1[j]+1
for i in range(len(b)):
j = ord(b[i])-ord('a')
s2[j] = s2[j]+1
while flag< 26 and tag:
if s1[flag]== s2[flag]:
flag+= 1
else:
tag = false
return tag
if __name__== '__main__':
a = "abcmnk"
b = "bcamn"
tt = compilestr(a,b)
print(tt)
亂序字串
給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。所有的字串都只包含小寫字母 對於字串陣列 lint intl inlt code 返回 lint inlt intl 思路 認為每一組亂序字串都有唯一的相同的 h...
亂序字串
給出乙個字串陣列s,找到其中所有的亂序字串 anagram 如果乙個字串是亂序字串,那麼他存在乙個字母集合相同,但順序不同的字串也在s中。所有的字串都只包含小寫字母 樣例1 輸入 lint intl inlt code 輸出 lint inlt intl 樣例 2 輸入 ab ba cd dc e ...
亂序字串演算法
蠻力法 思路等會睡醒之後寫吧 include string include algorithm include stdio.h include iostream include vector using namespace std bool isanagram string source,strin...