- 文字列の中での順列
651
34
お気に入り
シェアは、s2がS1の順列が含まれている場合はtrueを返すように関数を記述し、二つの文字列s1とs2を考えます。つまり、最初の文字列の順列の1は、第二の文字列の部分文字列です。
例1:
入力:S1 = "AB"、S2 = "eidbaooo" 出力:真の説明:S2は、S1( "BA")のいずれかの順列が含まれています。例2:
入力:S1 = "AB"、S2 = "eidboaoo" 出力:偽
アイデア:アクティブウィンドウ
コード:のpython3
class Solution:
def checkInclusion(self, s1: str, s2: str) -> bool:
m=len(s1)
n=len(s2)
if m>n:return False
s1hash=[0]*123
s2hash=[0]*123
for x in s1:
s1hash[ord(x)]+=1
for i in range(0,n):
s2hash[ord(s2[i])]+=1
if i>=m:
s2hash[ord(s2[i-m])]-=1
if s2hash==s1hash:
return True
return False
复制代码
ます。https://juejin.im/post/5d0c3bcee51d4510803ce3cbで再現