Python :: Aufgabe #302 :: Lösung #2

5 Lösungen Lösungen öffentlich
#302

Kleinste positive Zahl in einem Array

Fortgeschrittener - Python von JKooP - 21.11.2020 um 11:42 Uhr
Gegeben sei ein (beliebig großes) unsortiertes Integer- Array welches sowohl aus positiven als auch negativen Zahlen besteht.
Ermittelt werden soll die erste fehlende positive Zahl im Array.

Beispiele:
arr = [1, 2, 0] sortiert: [0, 1, 2]
Lösung: 3

arr = [5, 4, -2, -1, 1] sortiert: [-2, -1, 1, 4, 5]
Lösung: 2

arr = [6, 7, 8, 9, 10]
Lösung: 1

arr = [-4, -2, -1]
Lösung: 1

arr = [1, 2, 3, 4, 2147483647, 8]
Lösung: 5

arr = []
Lösung: 1

Viel Spaß
#2
vote_ok
von Leinart (90 Punkte) - 17.12.2020 um 22:31 Uhr
Quellcode ausblenden Python-Code
def smallestnumber(a):
    a.sort()
    c = doubleelemination(a)
    for i in c[:]:
        if i <= 0:
            c.remove(i)
    b=len(c)+1
    for i in range(b):
        if i == b-1:
            return i+1
        elif i+1 != c[i]:
            return i+1
        else:
            pass

def doubleelemination(a):
    for i in a[:]:
        b = a.count(i)
        while b >1:
            a.remove(i)
            b = b-1
    return a
if __name__ == "__main__":
    a= [-2,0,1,1,2,4] #Der zu durchsuchende Array
    b=smallestnumber(a)
    print(b)    

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben