Re: [閒聊] 每日leetcode
突然發現有一段時間沒發leetcode 文了
題目:
s1可以隨意亂改順序
能不能在s2裡面找到一個子字串是s1
思路:
只要找s2裡面跟s1的字母數量一樣就好了
```cpp
class Solution {
public:
bool check(int a[26] , int b[26])
{
for(int i = 0 ; i < 26 ; i ++)
{
if(a[i] != b[i]) return false;
}
return true;
}
bool checkInclusion(string s1, string s2)
{
int n1 = s1.size();
int n2 = s2.size();
int save[26] = {};
for(char k : s1 )
{
save[k-'a'] ++;
}
int l = 0 ;
int r = 0;
int now[26] = {};
for( ; r < n2 ; r ++)
{
now[s2[r]-'a'] ++;
while(l < r && now[s2[l]-'a'] > save[s2[l]-'a'])
{
now[s2[l]-'a'] --;
l++;
}
if(check(now,save))
{
return true;
}
}
return false;
}
};
```
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.237.130 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1728105556.A.E06.html
推
10/05 13:30,
1年前
, 1F
10/05 13:30, 1F
推
10/05 14:07,
1年前
, 2F
10/05 14:07, 2F
討論串 (同標題文章)
完整討論串 (本文為第 948 之 1550 篇):