
Unique Generalized Abbreviations (hard)
Problem Statement
Given a word, write a function to generate all of its unique generalized abbreviations.
A generalized abbreviation of a word can be generated by replacing each substring of the word with the count of characters in the substring. Take the example of ab which has four substrings: "", a, b, and ab. After replacing these substrings in the actual word by the count of characters, we get all the generalized abbreviations: ab, "1b", a1, and 2.
Note: All contiguous characters should be considered one substring, e.g., we can't take a and b as substrings to get 11; since a and b are contiguous, we should consider them together as one substring to get an abbreviation 2.
Example 1:
Input: "BAT"
Output: "BAT", "BA1", "B1T", "B2", "1AT", "1A1", "2T", "3"
Example 2:
Input: "code"
Output: "code", "cod1", "co1e", "co2", "c1de", "c1d1", "c2e", "c3", "1ode", "1od1", "1o1e", "1o2", "2de", "2d1", "3e", "4"
Constraints:
1 <= word.length <= 15wordconsists of only lowercase English letters.
Try it yourself
Try solving this question here:
Python3
Python3
. . . .
.....
.....
.....
Unlock this and all other premium problems.
No code editor for this lesson
This lesson focuses on concepts and theory