Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2781 - Length of the Longest Valid Substring\.

    Hard

    You are given a string word and an array of strings forbidden.

    A string is called valid if none of its substrings are present in forbidden.

    Return the length of the longest valid substring of the string word.

    A substring is a contiguous sequence of characters in a string, possibly empty.

    Example 1:

    Input: word = "cbaaaabc", forbidden = "aaa","cb"

    Output: 4

    Explanation:

    There are 9 valid substrings in word: "c", "b", "a", "ba", "aa", "bc", "baa", "aab", "ab", "abc"and "aabc". The length of the longest valid substring is 4.

    It can be shown that all other substrings contain either "aaa" or "cb" as a substring.

    Example 2:

    Input: word = "leetcode", forbidden = "de","le","e"

    Output: 4

    Explanation:

    There are 11 valid substrings in word: "l", "t", "c", "o", "d", "tc", "co", "od", "tco", "cod", and "tcod". The length of the longest valid substring is 4.

    It can be shown that all other substrings contain either "de", "le", or "e" as a substring.

    Constraints:

    • <code>1 <= word.length <= 10<sup>5</sup></code>

    • word consists only of lowercase English letters.

    • <code>1 <= forbidden.length <= 10<sup>5</sup></code>

    • 1 &lt;= forbidden[i].length &lt;= 10

    • forbidden[i] consists only of lowercase English letters.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer longestValidSubstring(String word, List<String> forbidden)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait