Some ambiguities (inappropriate return type)
What if there is more then one way to get the desired sum? Should it return all of the pairs or only a pair? Are we to assume the integers in the array are unique? --Thundergnat (talk) 22:21, 4 October 2016 (UTC)
i.e. Returning an empty list where no solutions are found, and a list of more than one integer pair where multiple solutions are found.
The English formulation of the task may also need a slight tweak – the phrase "If so, return indices of the two integers" skips a bit heavily over the thin ice – it seems to express an assumption that any solution would necessarily be unique. Hout (talk) 07:55, 17 October 2016 (UTC)
(from the task description) Given a sorted array of positive integers ...
Will either the mention of positive integers be amended, or will the list of given numbers be changed (hopefully before the draft task gets promoted)?
Since everybody has already used the example list (that contains a non-positive integer, namely zero), it would probably be easier to change it to:
... Given a sorted array of non-negative integers ...
- I updated the task. The assumption that the integers are positive (or non-negative) is absolutely not necessary. Also, that integers are "single" (unique?) does not guarantee a unique solution, so it's useless. For instance, look for the sum 9 in (1,2,7,8). And to see negative integers don't hurt, just add 1-min(a) to the array 'a', and add twice this number to the target. Actually, one could do the same with non-integers, but it would introduce unnecessary difficulties (floating-point is not exact, hence one can't rely on equality comparison). Eoraptor (talk) 15:15, 4 December 2017 (UTC)
- You're preaching to the choir. However, my objection was that the given of non-negative integers as part of the specification, but zero was included in the case example, a confliction. Now that negative integers are allowed, some programming examples will need to be changed. Also, (for the 2nd REXX programming example), I've added a test case that included negative numbers as well as a duplicate number. -- Gerard Schildberger (talk) 23:01, 4 December 2017 (UTC)
- Also, as for the use of non-integers, that isn't a problem for some languages, as not all floating point numbers are necessarily stored in binary, some programming languages can use decimal floating point. Other programming languages can also support scaled numbers, that is, 2.3 can be stored as an decimal integer, with the decimal point indicated to the appropriate location. -- Gerard Schildberger (talk) 23:01, 4 December 2017 (UTC)