Last updated
Was this helpful?
Last updated
Was this helpful?
https://leetcode.com/problems/unique-word-abbreviation
The abbreviation of a word is a concatenation of its first letter, the number of characters between the first and last letter, and its last letter. If a word has only two characters, then it is an abbreviation of itself.
For example:
dog --> d1g
because there is one letter between the first letter 'd'
and the last letter 'g'
.
internationalization --> i18n
because there are 18 letters between the first letter 'i'
and the last letter 'n'
.
it --> it
because any word with only two characters is an abbreviation of itself.
Implement the ValidWordAbbr
class:
ValidWordAbbr(String[] dictionary)
Initializes the object with a dictionary
of words.
boolean isUnique(string word)
Returns true
if either of the following conditions are met (otherwise returns false
):
There is no word in dictionary
whose abbreviation is equal to word
's abbreviation.
For any word in dictionary
whose abbreviation is equal to word
's abbreviation, that word and word
are the same.
Example 1:
Constraints:
1 <= dictionary.length <= 3 * 104
1 <= dictionary[i].length <= 20
dictionary[i]
consists of lowercase English letters.
1 <= word.length <= 20
word
consists of lowercase English letters.
At most 5000
calls will be made to isUnique
.
use 2 map 1 list, time consuming