作者oin1104 (是oin的說)
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Fri Jan 10 17:31:49 2025
題目
找words1 裡面有幾個字串是好的
好的 = 出現的字母比words2 每一個string裡面出現的字母還要多
思路
先找words2每個字母出現最多次的次數
這一定是word1 分別字母 至少要出現的次數
就好了
class Solution {
public:
vector<string> wordSubsets(vector<string>& words1, vector<string>& words2)
{
int n = words1.size();
vector<string> res ;
vector<int> save(26,0);
for(string k : words2)
{
vector<int> tmp(26,0);
for(char i : k)
{
tmp[i-'a'] ++;
}
for(int i = 0 ; i < 26 ; i ++)
{
save[i] = max(save[i] , tmp[i]);
}
}
for(string k : words1)
{
vector<int> tmp(26,0);
for(char i : k)
{
tmp[i-'a'] ++;
}
int ok = 1;
for(int i = 0 ; i < 26 ; i ++)
{
if(save[i] > tmp[i])
{
ok = 0;
continue;
}
}
if(ok) res.push_back(k);
}
return res;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.228.169.39 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1736501511.A.06A.html
→ Firstshadow: 大師 01/10 17:34
推 Meaverzt: 大師 01/10 17:36
→ Meaverzt: 剩我一個一個找了 01/10 17:36
推 dont: 大師 01/10 20:50