in reply to Re: LeetCode Problem #1 - Two Sum - Improve and/or discuss.
in thread LeetCode Problem #1 - Two Sum - Improve and/or discuss.
G'day NetWallah,
"After adding this test case: [[-5,-3,1,4,7], 1, [1,3]], kcott's code fails that test case, but mine passes."
Well spotted and thanks for reporting the bug.
I had added
next INNER if $input->[$j] > $target;
on the basis that a single comparison was less processing than the addition plus comparison in
if ($input->[$i] + $input->[$j] == $target) {
I thought that was a handy logic short-circuit; however, I hadn't taken into account negative numbers. I've removed that line and the INNER label: all tests now pass.
"Also - kcott's code assumes and takes advantage of the input being sorted - input order is NOT specified in the problem definition."
I don't know where you got that idea from. I neither made that assumption nor wrote any code taking advantage of such sorting. Note [[3,2,4], 6, [1,2]] which has unsorted input.
— Ken
|
|---|