http://www.perlmonks.org?node_id=1057043


in reply to Re^4: Challenge: 8 Letters, Most Words
in thread Challenge: 8 Letters, Most Words

That should help, but even then it seems like it would be possible for some matches to be ignored with my method. For instance, say the word 'post' comes along, and next the word 'dime.' Since 'dime' can fit into the bucket started by 'post,' that bucket now holds 'postdime.' Later the word 'cot' comes along, and now it can't be added to that bucket, so there will be no bucket that ever contains 'post' and 'cot.'

As a test, I tried this short list of words: post dime coat tear. The three words "post coat tear" can fit into 8 letters: aceoprst. Mine failed to find that, as expected, because the 'post' bucket had already been filled with 'dime,' so 'coat' and 'tear' never got a chance at it. If I move 'dime' to the end, then it works, but there's no way to anticipate that. So my method fails, even if I sort the words by length first.

Aaron B.
Available for small or large Perl jobs; see my home node.

Replies are listed 'Best First'.
Re^6: Challenge: 8 Letters, Most Words
by hdb (Monsignor) on Oct 05, 2013 at 17:43 UTC

    Thanks for this post! It did not even occur to me that you could add another letter to make a word fit into a bucket or class if the total of 8 is not exhausted yet. Means I have to rework my solution. I am thinking of cloning a class with less than 8 letters when a new word is added that requires adding new letters. But this will create an explosion of possibilities and lengthen the runtime a lot. Not for tonight...