Scala algorithm: Find minimum missing positive number in a sequence
Published
Algorithm goal
Find the minimum missing positive number in a sequence.
For example, \([-3,-2]\) has no minimum missing positive as 1.
\([-3,1]\) has minimum missing positive number as \(2\).
\([-3,1,3]\) has minimum missing positive number as \(2\) as well.
Test cases in Scala
assert(minimumMissing(-3, -2) == 1)
assert(minimumMissing(-3, 1) == 2)
assert(minimumMissing(1, 2, 3) == 4)
assert(minimumMissing(1, 2, 4) == 3)
Algorithm in Scala
8 lines of Scala (compatible versions 2.13 & 3.0), showing how concise Scala can be!
Get the full algorithm !
or
'Unlimited Scala Algorithms' gives you access to all the 100 published Scala Algorithms!
Upon purchase, you will be able to Register an account to access all the algorithms on multiple devices.
Explanation
Effectively, what we need to check is to find the first number in range (1 to <maximum positive number that is present>) that is not in the input list..
This means we compute the maximum positive number, and following that, get a set of all numbers (so we can check element presence quickly). (this is © from www.scala-algorithms.com)