DDSA
Advertisement

1408. String Matching in an Array

Time: O(n² · m)
Space: O(n)

Approach

Brute-force; for each word check if it appears as a substring of any longer word.

1408.cs
C#
// Approach: Brute-force; for each word check if it appears as a substring of any longer word.
// Time: O(n² · m) Space: O(n)

public class Solution
{
    public IList<string> StringMatching(string[] words)
    {
        List<string> ans = new List<string>();
        foreach (var a in words)
        {
            foreach (var b in words)
            {
                if (a.Length < b.Length && b.IndexOf(a) != -1)
                {
                    ans.Add(a);
                    break;
                }
            }
        }
        return ans;
    }
}
Advertisement
Was this solution helpful?