C# || How To Find Longest Duplicate Substring Using C#

Print Friendly, PDF & Email

The following is a module with functions which demonstrates how to find the longest duplicate substring using C#.


1. Longest Dup Substring – Problem Statement

Given a string s, consider all duplicated substrings: (contiguous) substrings of s that occur 2 or more times. The occurrences may overlap.

Return any duplicated substring that has the longest possible length. If s does not have a duplicated substring, the answer is “”.

Example 1:


Input: s = "banana"
Output: "ana"

Example 2:


Input: s = "abcd"
Output: ""


2. Longest Dup Substring – Solution

The following is a solution which demonstrates how find the longest duplicate substring.

This solution uses Binary Search and Rolling Hash.

QUICK NOTES:
The highlighted lines are sections of interest to look out for.

The code is heavily commented, so no further insight is necessary. If you have any questions, feel free to leave a comment below.

Once compiled, you should get this as your output for the example cases:


"ana"
""

Was this article helpful?
👍 YesNo

Leave a Reply