top | item 35550627

(no title)

behdad | 2 years ago

Imagine the string "there is", and the dictionary {"the", "there", "is"}.

discuss

order

whiddershins|2 years ago

T isn’t a word, next

Th isn’t a word, next

The is a word, look up ‘reis’, not a word, next

Ther isn’t a word, next

There is a word, look up ‘is’ it is a word, return true

If you don’t want to ignore whitespace, than I’m not sure what behavior you want, you want “there is” to return false?

If whitespace is the delimiter the whole thing is trivial, you split on space.

I am now more confused.

the_af|2 years ago

> The is a word, look up ‘reis’, not a word, next

This is where the wrong greedy solution from TFA, which the author claims some candidates reach, stops. So it's wrong.

Note that if you do not stop, and continue as in your own example, your solution isn't "greedy"!

behdad|2 years ago

That is a correct solution. The one I was talking about would stop after just trying "The" and "reis".