【LeetCode】14080. 配列内の文字列マッチング

トピック

文字列配列ワードを指定すると、配列内の各文字列をワードと見なすことができます。他の単語の部分文字列である単語内のすべての単語を任意の順序で返してください。

Words[j] の左端および/または右端の文字を削除して word[i] を取得できる場合、文字列 Words[i] は Words[j] の部分文字列になります。

例 1:

入力: Words = ["mass", "as", "hero", "superhero"]
出力: ["as", "hero"]
説明: "as" は "mass" の部分文字列、"hero" は部分文字列です「スーパーヒーロー」の。
["hero","as"] も有効な回答です。

例 2:

入力: Words = ["leetcode", "et", "code"]
出力: ["et", "code"]
説明: "et" と "code" は両方とも "leetcode" の部分文字列です。

例 3:

入力: 単語 = ["青"、"緑"、"ブ"]
出力: []

ヒント:

1 <= Words.length <= 100
1 <= Words[i].length <= 30
Words[i] には小文字の英字のみが含まれます。
質問データにより、各単語[i]が一意であることが保証されます。

答え

ブルートフォース
検索機能は、文字列に次の文字列が含まれているかどうかを見つけることができます。

class Solution {
    
    
public:
    vector<string> stringMatching(vector<string>& words) {
    
    
        vector<string> result;
        int len = words.size();

        for(int i=0;i<len;i++)
        {
    
    
            for(int j=0;j<len;j++)
            {
    
    
                if( i!=j && words[j].find(words[i])!=string::npos)
                {
    
    
                    result.emplace_back(words[i]);
                    break;
                }
            }
        }
        return result;
    }
};

おすすめ

転載: blog.csdn.net/qq_45972928/article/details/126198356