Problem Statement | |||||||||||||
A prefix-free set is a set of words in which no element is a prefix of another element in the set. For example {"hello"} , {"hello", "goodbye", "giant", "hi"} and the empty set are examples of prefix-free sets. On the other hand, {"hello","hell"} and {"great","gig","g"} are not prefix-free. You will be given a String[] words containing a set of words, and you must return the number of subsets of words that are prefix-free. Note that both the empty set and the entire set count as subsets. | |||||||||||||
Definition | |||||||||||||
| |||||||||||||
Notes | |||||||||||||
| - | A prefix of a string is the result of erasing zero or more characters from the right end of that string. | ||||||||||||
Constraints | |||||||||||||
| - | words will contain between 1 and 50 elements, inclusive. | ||||||||||||
| - | Each element of words will contain between 1 and 50 characters, inclusive. | ||||||||||||
| - | Each character of each element of words will be a lowercase letter ('a'-'z'). | ||||||||||||
| - | No two elements of words will be equal. | ||||||||||||
Examples | |||||||||||||
| 0) | |||||||||||||
| |||||||||||||
| 1) | |||||||||||||
| |||||||||||||
| 2) | |||||||||||||
| |||||||||||||
| 3) | |||||||||||||
| |||||||||||||