438. 找到字符串中所有字母異位詞
給定兩個字符串 s 和 p,找到 s 中所有 p 的 異位詞 的子串,返回這些子串的起始索引。不考慮答案輸出的順序。
異位詞 指由相同字母重排列形成的字符串(包括相同的字符串)。下面的做法為什么不能通過呢?邏輯上沒問題啊。
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
if(s.size()<p.size())
return {};
vector<int> res;
vector<int>hash_zeros(26,0);
for(int i=0;i<s.size()-p.size()+1;i++)
{
vector<int> hash_map(26,0);
for(int j=i;j<i+p.size()&&j<s.size();j++)
{
hash_map[s[j]-'a']++;
hash_map[p[j-i]-'a']--;
}
if(hash_map==hash_zeros)
res.push_back(i);
}
return res;
}
};
異位詞 指由相同字母重排列形成的字符串(包括相同的字符串)。下面的做法為什么不能通過呢?邏輯上沒問題啊。
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
if(s.size()<p.size())
return {};
vector<int> res;
vector<int>hash_zeros(26,0);
for(int i=0;i<s.size()-p.size()+1;i++)
{
vector<int> hash_map(26,0);
for(int j=i;j<i+p.size()&&j<s.size();j++)
{
hash_map[s[j]-'a']++;
hash_map[p[j-i]-'a']--;
}
if(hash_map==hash_zeros)
res.push_back(i);
}
return res;
}
};
全部評論
相關(guān)推薦
點(diǎn)贊 評論 收藏
分享
05-11 21:04
武漢理工大學(xué) 大數(shù)據(jù)開發(fā)工程師 
點(diǎn)贊 評論 收藏
分享