LeetCode 567. 字串的排列
題目
給定兩個字串 s1 和 s2,寫一個函式來判斷 s2 是否包含 s1 的排列。
換句話說,第一個字串的排列之一是第二個字串的子串。
示例1:
輸入: s1 = “ab” s2 = “eidbaooo”
輸出: True
解釋: s2 包含 s1 的排列之一 (“ba”).
示例2:
輸入: s1= “ab” s2 = “eidboaoo”
輸出: False
注意:
輸入的字串只包含小寫字母
兩個字串的長度都在 [1, 10,000] 之間
思路
最開始使用的是全排列,然後比較的時候發現T了,然後就想到用排序的方式,emmmm又T了。 最後想到用滑動視窗 然後A了
每次取 s1 長度的視窗 然後排序比較,相等就返回True
程式碼
class Solution(object):
def checkInclusion(self, s1, s2):
"""
:type s1: str
:type s2: str
:rtype: bool
"""
l1,l2 = len(s1),len(s2)
s1 = sorted(s1)
for i in range(l2-l1+1):
t = s2[i:i+l1]
if sorted(t) == s1:
return True
return False
相關文章
- 567. 字串的排列(中)字串
- 字串的排列字串
- 字串的全排列字串
- 字串的升序降序排列字串
- 【劍指offer】字串的排列字串
- 九度 1369 字串的排列字串
- JavaScript字串逆序排列JavaScript字串
- LeetCode刷題進階之重新排列字串(1528)LeetCode字串
- JZ-027-字串的排列字串
- leetcode 面試題08.08. 有重複字串的排列組合LeetCode面試題字串
- 無重複字串的排列組合字串
- 劍指 Offer 38. 字串的排列字串
- [CareerCup] 1.3 Permutation String 字串的排列字串
- 字串排列組合問題字串
- 字串全排列 java實現字串Java
- Leetcode——46. 全排列LeetCode
- 【LeetCode】46. 全排列LeetCode
- leetcode:全排列(java回溯)LeetCodeJava
- 下一個排列(LeetCode)LeetCode
- LeetCode系列46—全排列LeetCode
- LeetCode-046-全排列LeetCode
- 【leetcode】60. Permutation Sequence 全排列的第k位序的排列形式LeetCode
- LeetCode-441-排列硬幣LeetCode
- LeetCode-047-全排列 IILeetCode
- 排列子串;及翻譯字串分析字串
- LeetCode31.下一個排列LeetCode
- javascript將字串逆序排列程式碼例項JavaScript字串
- [劍指offer][第四章][28]字串的排列字串
- LeetCode46 回溯演算法求全排列,這次是真全排列LeetCode演算法
- LeetCode 45跳躍遊戲&46全排列LeetCode遊戲
- [LeetCode] Next Permutation 下一個排列LeetCode
- LeetCode每日一題: 排列硬幣(No.441)LeetCode每日一題
- LeetCode 31. 下一個排列 | PythonLeetCodePython
- LeetCode 1470. 重新排列陣列LeetCode陣列
- leetcode:字串相乘(java)LeetCode字串Java
- leetcode 87 擾亂字串LeetCode字串
- LeetCode 394 字串解碼LeetCode字串
- LeetCode-043-字串相乘LeetCode字串