g1401_1500.s1408_string_matching_in_an_array.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1401_1500.s1408_string_matching_in_an_array;
// #Easy #String #String_Matching #2022_03_26_Time_8_ms_(24.88%)_Space_43.3_MB_(13.46%)
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* 1408 - String Matching in an Array\.
*
* Easy
*
* Given an array of string `words`. Return all strings in `words` which is substring of another word in **any** order.
*
* String `words[i]` is substring of `words[j]`, if can be obtained removing some characters to left and/or right side of `words[j]`.
*
* **Example 1:**
*
* **Input:** words = ["mass","as","hero","superhero"]
*
* **Output:** ["as","hero"]
*
* **Explanation:** "as" is substring of "mass" and "hero" is substring of "superhero". ["hero","as"] is also a valid answer.
*
* **Example 2:**
*
* **Input:** words = ["leetcode","et","code"]
*
* **Output:** ["et","code"]
*
* **Explanation:** "et", "code" are substring of "leetcode".
*
* **Example 3:**
*
* **Input:** words = ["blue","green","bu"]
*
* **Output:** []
*
* **Constraints:**
*
* * `1 <= words.length <= 100`
* * `1 <= words[i].length <= 30`
* * `words[i]` contains only lowercase English letters.
* * It's **guaranteed** that `words[i]` will be unique.
**/
public class Solution {
public List stringMatching(String[] words) {
Set set = new HashSet<>();
for (String word : words) {
for (String s : words) {
if (!word.equals(s) && word.length() < s.length() && s.contains(word)) {
set.add(word);
}
}
}
return new ArrayList<>(set);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy