Search⌘ K
AI Features

Solution: Longest Common Suffix Queries

Explore implementing a reversed trie in C# to efficiently find strings with the longest common suffix in a container. Learn to build and query the trie, manage best candidate tracking by length and index, and understand the time and space complexities involved.

Statement

You are given two arrays of strings, wordsContainer and wordsQuery.

For each string wordsQuery[i], find the string in wordsContainer that shares the longest common suffix with it.

  • If multiple strings in wordsContainer share the same longest suffix, choose the one with the smallest length.

  • If two or more such strings have the same smallest length, choose the string that appears earliest in wordsContainer.

Return an array of integers ans, where ans[i] is the index of the chosen string in wordsContainer for the query wordsQuery[i].

Constraints:

  • 11 \leq wordsContainer.length, wordsQuery.length 104\leq 10^4

  • 11 \leq wordsContainer[i].length 5103\leq 5 * 10^3 ...