python 字串的排列

2021-10-09 17:30:19 字數 1360 閱讀 6961

給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。

換句話說,第乙個字串的排列之一是第二個字串的子串。

輸入: s1 = 「ab」 s2 = 「eidbaooo」

輸出: true

解釋: s2 包含 s1 的排列之一 (「ba」).

輸入: s1= 「ab」 s2 = 「eidboaoo」

輸出: false

注意:

輸入的字串只包含小寫字母

兩個字串的長度都在 [1, 10,000] 之間

# 基本思路是 比較 s1中的每個字母在 s2的子串**現的次數

# s2的子串長度 等於 s1 的長度

class

solution

(object):

defcheckinclusion

(self, s1, s2)

:"""

:type s1: str

:type s2: str

:rtype: bool

"""s1_len =

len(s1)

s2_len =

len(s2)

start_index =

0 end_index = start_index + s1_len

element_hash =

for element in s1:

if element not

in element_hash.keys():

element_hash[element]=1

else

: element_hash[element]+=1

print element_hash

while end_index <= s2_len:

split_str = s2[start_index : end_index]

for character_type, character_count in element_hash.items():

if character_type not

in split_str:

break

elif character_count != split_str.count(character_type)

:break

else

:return

true

start_index +=

1 end_index +=

1return

false

字串的所有排列 python

在給定乙個字串abc,輸出該字串的所有排列組合 abc acb bac bca cab cba 遞迴法 class solution def permutation self,ss if len ss 1 return ss res set for i in range len ss 每乙個j是pe...

leetcode 字串的排列 python3

給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 fals...

字串排列

在網上看到了乙個操作字串的題目,該題為 字串排列。大概意思是列出字串中所有字元的所有組合並且輸出無重複。自己做了一下,這裡分享該題的思路,和做法。自我覺得實現的有些麻煩 歡迎指點。問題輸入乙個字串,列印出該字串中字元的所有排列。輸入 字串abc。輸出 列印出由字元a,b,c所能排列出來的所有字串ab...