Talk:ABC problem: Difference between revisions
Content added Content deleted
(→C and Perl versions: new section) |
|||
Line 141: | Line 141: | ||
</code> |
</code> |
||
[[User:Wvxvw|Wvxvw]] ([[User talk:Wvxvw|talk]]) 13:37, 5 April 2015 (UTC) |
[[User:Wvxvw|Wvxvw]] ([[User talk:Wvxvw|talk]]) 13:37, 5 April 2015 (UTC) |
||
== C and Perl versions == |
|||
In the C recursive version, if I've understood this correctly, once a character has been |
|||
matched successfully by |
|||
''if (b[i][0] != c && b[i][1] != c) continue;'' |
|||
there is no need to keep matching it, therefore, I would put |
|||
''break;'' |
|||
at the end of the ''for'' block in ''can_make_words''. |
|||
Similarly with the Perl recursive version, perhaps |
|||
''last;'' |
|||
at the end of the ''for'' block in ''_can_make_word''. |
|||
For example, if we test the 2nd set from the Perl version where the blocks are US TZ AO QA and the word is "auto", without and with the ''break''/''last'', the former returns true, the latter |
|||
false. |
|||
I believe false is the correct answer, i.e. auto can't be made from US TZ AO QA in the order |
|||
the letters appear. |