Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,845 questions

51,766 answers

573 users

How to get the first missing smallest positive integer in an unsorted integer array with Pascal

1 Answer

0 votes
program FindSmallestMissingNumber;

uses SysUtils, FGL;

type
  TIntArray = array of Integer;
  TIntSet = specialize TFPGList<Integer>;

function FindSmallestMissingNumber(arr: TIntArray): Integer;
var
  numSet: TIntSet;
  index, i: Integer;
begin
  numSet := TIntSet.Create;

  for i := Low(arr) to High(arr) do
    numSet.Add(arr[i]);

  index := 1;
  while True do
  begin
    if numSet.IndexOf(index) = -1 then
    begin
      FindSmallestMissingNumber := index;
      Exit;
    end;
    Inc(index);
  end;
  numSet.Free;
end;

var
  arr: TIntArray;
begin
  arr := TIntArray.Create(3, 4, -1, 1);
  WriteLn(FindSmallestMissingNumber(arr));
end.

   
     
(*
run:

2
     
*)

 



answered Jun 4, 2025 by avibootz
...