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

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,844 questions

55,671 answers

573 users

How to find the missing number in an array containing numbers from 1 to n in O(1) time complexity with Pascal

1 Answer

0 votes
program MissingNumberFinder;

{
The essence of O(1) space complexity is that the algorithm uses a fixed amount of memory,
regardless of input size. Time complexity here is O(n) because we must scan the array.
}

function FindMissingNumber(arr: array of Integer; size: Integer): Integer;
var
  expected_sum, actual_sum: LongInt;
  i: Integer;
begin
  { formula for sum of first (size+1) natural numbers }
  expected_sum := (size + 1) * (size + 2) div 2;
  actual_sum := 0;

  for i := 0 to size - 1 do
    actual_sum := actual_sum + arr[i];

  FindMissingNumber := expected_sum - actual_sum;
end;

var
  arr: array[0..4] of Integer = (1, 2, 4, 5, 6);
  size, missing: Integer;
begin
  size := Length(arr);
  missing := FindMissingNumber(arr, size);

  WriteLn('Missing number: ', missing);
end.



(*
run:

Missing number: 3

*)

 



answered Dec 10, 2025 by avibootz

Related questions

...