[GO] [Python] Ich habe versucht, eine stabile Sortierung zu implementieren

Problem

Siehe die Seite unten

Meine Antwort

import collections

def chk_before_tranp_bigger(now, before):
    return int(before[1]) > int(now[1])


def is_stable(inputs: list, sort_: list) -> str:
    """
Bedingungen
・ Karten mit der gleichen Nummer
・ Entspricht der Reihenfolge, in der sie in der Eingabe angezeigt werden

Gruppieren Sie einmal die Liste der Eingabedaten mit Zahlen als Schlüsseln
Beispiel)
        {
            '4': ['H4', 'S4'],
            '9': ['C9'],
            '3': ['C3']
        }
    """
    judge = 'Not stable'
    loop = True
    set_num = collections.defaultdict(list)
    for input_ in inputs:
        set_num[input_[1]].append(input_)

    for g, dl in set_num.items():
        if len(dl) <= 1:
            continue
        min_index = -1
        for d in dl:
            if min_index > sort_.index(d):
                loop = False
                break
            min_index = sort_.index(d)
        if not loop:
            break
    else:
        judge = 'Stable'

    return judge


def bubble_sort(n: int, a: list) -> (list, str):
    dl = a.copy()
    for i in range(n):
        for j in range(n-1, i, -1):
            if chk_before_tranp_bigger(dl[j], dl[j-1]):
                dl[j], dl[j-1] = dl[j-1], dl[j]
    return dl, is_stable(a,  dl)


def selected_sort(n: int, a: list) -> (list, str):
    dl = a.copy()
    for i in range(n):
        mini = i
        for j in range(i, n):
            if chk_before_tranp_bigger(dl[j], dl[mini]):
                mini = j
        if mini != i:
            dl[i], dl[mini] = dl[mini], dl[i]

    return dl, is_stable(a, dl)


n = int(input())
a = input().split()

sort_, judge = bubble_sort(n, a)
print(*sort_)
print(judge)

sort_, judge = selected_sort(n, a)
print(*sort_)
print(judge)

Recommended Posts

[Python] Ich habe versucht, eine stabile Sortierung zu implementieren
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich habe versucht, den Unterschied zwischen A + = B und A = A + B in Python herauszufinden
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ich habe eine Stoppuhr mit tkinter mit Python gemacht
Python-Anfänger haben einen Chat-BOT erstellt, also habe ich versucht, zusammenzufassen, wie man es macht
Ich habe versucht, PLSA in Python zu implementieren
Ich habe versucht, Permutation in Python zu implementieren
Ich habe versucht, PLSA in Python 2 zu implementieren
Ich habe versucht, ADALINE in Python zu implementieren
Ich habe versucht, PPO in Python zu implementieren
Ich habe eine Web-API erstellt
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[2nd] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck für "Betrag" zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Zeit" zu erstellen
[3.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, mit Python einen regulären Ausdruck von "Datum" zu erstellen
Ich habe versucht, ein missverstandenes Gefangenendilemma in Python zu implementieren
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, mit Python eine 2-Kanal-Post-Benachrichtigungsanwendung zu erstellen
Ich habe versucht, eine ToDo-App mit einer Flasche mit Python zu erstellen
[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
[1.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich möchte ein Spiel mit Python machen
Ich habe versucht, TOPIC MODEL in Python zu implementieren
Ich habe versucht, eine selektive Sortierung in Python zu implementieren
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, mit Raspeye 4 (Python Edition) ein signalähnliches Signal zu erzeugen.
Hinweise Ich habe nachgeschlagen, um Befehlszeilentools in Python zu erstellen
Ich habe versucht, Trumps Kartenspiel in Python zu implementieren
Ich war süchtig danach, Cython mit PyCharm auszuprobieren, also machen Sie sich eine Notiz
Ich habe versucht, einen "verdammt großen Literaturkonverter" zu machen.
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
Ich möchte Timeout einfach in Python implementieren
Ich habe eine einfache Mail-Sendeanwendung mit tkinter von Python erstellt
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
[Python] Deep Learning: Ich habe versucht, Deep Learning (DBN, SDA) ohne Verwendung einer Bibliothek zu implementieren.
[Patentanalyse] Ich habe versucht, mit Python eine Patentkarte zu erstellen, ohne Geld auszugeben
Fortsetzung ・ Ich habe versucht, Slackbot zu erstellen, nachdem ich Python3 studiert habe
Ich habe versucht, PCANet zu implementieren
Ich bin auf MoviePy gestoßen, machen Sie sich also eine Notiz
Ich habe versucht, Drakues Poker in Python zu implementieren
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
Ich habe versucht, GA (genetischer Algorithmus) in Python zu implementieren
[Python] Ich habe versucht, eine Shiritori-KI zu erstellen, die den Wortschatz durch Schlachten verbessert
[Python] Ich möchte aus einer verschachtelten Liste einen Taple machen
Ich habe versucht, ein scheinbar Windows-Snipper-Tool mit Python zu implementieren
Ich habe versucht, StarGAN (1) zu implementieren.
Beachten Sie, dass ich süchtig danach war, TensowFlow einzurichten
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
Ich habe versucht, mit Quantx eine Linie mit gleitendem Durchschnitt des Volumens zu implementieren
Ich habe versucht, das grundlegende Modell des wiederkehrenden neuronalen Netzwerks zu implementieren
Ich habe versucht, mit Python faker verschiedene "Dummy-Daten" zu erstellen
[Markov-Kette] Ich habe versucht, die Zitate in Python einzulesen.
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren