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

Reply via email to