Answer to Question #189799 in Python for phani

Question #189799
Smallest Missing Number
Given a list of numbers, write a program to print the smallest positive integer missing in the given numbers.
Input

The input will be a single line containing numbers separated by space.
Output

The output should be a single line containing the smallest missing number from given numbers.
Explanation

For example, if the input numbers are 3, 1, 2, 5, 3, 7, 7.
The number 1, 2, 3 are present. But the number 4 is not. So 4 is the smallest positive integers that is missing from the given numbers.
Sample Input 1
3 1 2 5 3 7 7
Sample Output 1
4

Sample Input 2
5 5 2 3 1 8 8 4
Sample Output 2
6


1
Expert's answer
2021-05-09T01:43:56-0400
def Differentiate(arr, size):
    j = 0
    for i in range(size):
        if (arr[i] <= 0):
            arr[i], arr[j] = arr[j], arr[i]
            j += 1 # increment count of non-positive integers
    return j
 
 
def GetMissiing(arr, size):
    for i in range(size):
        if (abs(arr[i]) - 1 < size and arr[abs(arr[i]) - 1] > 0):
            arr[abs(arr[i]) - 1] = -arr[abs(arr[i]) - 1]
    for i in range(size):
        if (arr[i] > 0):
            return i + 1
    return size + 1


def CheckMissing(arr, tempSize):
    s = Differentiate(arr, tempSize)
    return GetMissiing(arr[s:], tempSize - s)
     
InputArr = [3, 1, 2, 5, 3, 7, 7]
Input_arr_size = len(InputArr)
MissingTerm = CheckMissing(InputArr, Input_arr_size)
print("\nSample Input-1")
print("The smallest positive missing number is ", MissingTerm)


InputArr = [5, 5, 2, 3, 1, 8, 8, 4 ]
Input_arr_size = len(InputArr)
MissingTerm = CheckMissing(InputArr, Input_arr_size)
print("\nSample Input-2")
print("The smallest positive missing number is ", MissingTerm)




Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS