FastPrepFastPrep
Problem Brief

Str with Longest Len

FULLTIMEOA
See Microsoft online assessment and hiring insights

A prefix of a string S is any leading contiguous part of S. For example, the string "codility" has the following prefixes: "", "c", "co", "cod", "codi", "codil", "codili", "codilit", and "codility". A prefix of S is called proper if it is shorter 📏 than S.

A suffix of a string S is any trailing contiguous part of S. For example, the string "codility" has the following sufixes: "", "y", "ty", "ity", "lity", "ility", "dility", "odility" and "codility". A suffix of S is called proper if it is shorter than S.

Let's now write a func called strWithLongestLen(String S) in the editor 👉

Task of your func:

  • Find the len of the longest string that is both a proper suffix of S and a proper prefix of S.
  • : 𓏲🐋 ๋࣭  ࣪endless thanks, spike!˖✩࿐࿔ 🌊

    1Example 1

    Input
    S = "abbabba"
    Output
    "4"
    Explanation
    Proper prefixes of S are: "", "a", "ab", "abb", "abba", "abbab", "abbabb" Proper suffixes of S are: "", "a", "ba", "bba", "abba", "babba", "bbabba" String "abba", with the longest len, is both a proper prefix and a proper sufix of S This is the longest such string.

    2Example 2

    Input
    S = "codility"
    Output
    "0"
    Explanation
    string "" is both a proper prefix and a proper suffix of S. This is the longest such string.

    Constraints

    Limits and guarantees your solution can rely on.

  • 1 <= S.length() <= 1,000,000
  • String S consists only lower case english letters (a - z)
  • public String strWithLongestLen(String S) {
      // write your code here
    }
    
    Input

    S

    "abbabba"

    Output

    "4"

    Sign in to submit your solution.