On 16.12.2010 at 20:36 Uhr -0400 william humphrey apparently wrote:
function getMissingNumbers pNumberList
put empty into vOccurences
repeat for each item vNumber in pNumberList
add 1 to vOccurences[vNumber]
end repeat
get the keys of vOccurences
sort lines of it numeric
put line -1 of it into vLargestNumber
put empty into vMissing
repeat with i=1 to vLargestNumber
if vOccurences[i] is empty then put i & comma after vMissing
end repeat
delete char -1 of vMissing
return vMissing
end getMissingNumbers
this returns a sequential list of all numbers, not just the missing numbers
Just tested this and it works for me. May be you passed the data as
multiple parameters instead of one. I mean sth like
answer getMissingNumbers(3,4,5,6,6,7,8,9,10,12,13,13,14)
instead of
answer getMissingNumbers("3,4,5,6,6,7,8,9,10,12,13,13,14")
This algorithm makes no assumption on the order of data except that
it should contain numbers from 1 to the largest number in the set.
Their order or repetition are irrelevant.
Robert
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode