Vergleichen Sie die Summe jedes Elements in zwei Listen mit dem in Python angegebenen Wert

Einführung

Wollten Sie schon immer die Summe jedes Elements mit dem Wert vergleichen, den Sie bei zwei Listen angegeben haben?   Zum Beispiel

[-1, 3, 8, 2, 9, 5]   [4, 1, 2, 10, 5, 20]

Angenommen, Sie haben zwei Listen.

Zu diesem Zeitpunkt wird geprüft, ob ein bestimmter Wert durch die Summe von zwei aus jeder Liste ausgewählten Elementen ausgedrückt werden kann.

Wenn ein bestimmter Wert 25 ist und Sie (-1, 4) auswählen, beträgt die Summe 3, was unterschiedlich ist. In diesem Fall ist nur (5, 20) korrekt.   Ein YouTube-Video (siehe URL unten) zeigte, wie dieses Problem gelöst werden kann. Diesmal habe ich die Methode in Python geschrieben.

Programm

Ich habe drei Lösungen aus den eingeführten Methoden programmiert. Die zu vergleichenden Werte sind ~ ~ 24, 25, 26 ~ ~ 23, 24, 25 (korrigiert am 13. Dezember 2019).

Das erste ist, wie alle Elemente zusammengefügt werden.

Brute-force.py


#aufführen
A = [-1, 3, 8, 2, 9, 5]
B = [4, 1, 2, 10, 5, 20]

#Wert, den Sie vergleichen möchten
target = 24

#Rohe Gewalt
for i in A:
    for j in B:
        if target - 1 <= (i + j) <= target + 1:
            print(str(i) + "Wann" + str(j) + "Ist ein Paar.")

Die nächste Methode besteht darin, den Inhalt der Liste zu durchsuchen und dann zu vergleichen.

linear.py


#aufführen
A = [-1, 3, 8, 2, 9, 5]
B = [4, 1, 2, 10, 5, 20]

#Wert, den Sie vergleichen möchten
target = 24

#Lineare Auswahl
for i, v in enumerate(B):
    if target - 1 - v in A:
        index = A.index(target - 1 -v)
        print(str(A[index]) + "Wann" + str(v) + "Ist ein Paar.")
    if target - v in A:
        index = A.index(target - v)
        print(str(A[index]) + "Wann" + str(v) + "Ist ein Paar.")
    if target + 1 - v in A:
        index = A.index(target + 1 - v)
        print(str(A[index]) + "Wann" + str(v) + "Ist ein Paar.")

Schließlich, wie man eine Matrix erstellt. Die zu vergleichenden Werte sind 12, 13, 14.

Matrix.py



#Matrixerstellung
import numpy as np

#Element
A = np.array([7, 4, 1, 10])
B = np.array([4, 5, 8, 7])

#Sortieren Sie die Elemente in aufsteigender Reihenfolge
A.sort()
B.sort()

target = 13

#Tabelle die Hinzufügung aller Elemente
array = np.array([i+j for i in A for j in B]).reshape((len(A), len(B)))

#Zielbereich
column_start = 0            #0
column_end = array.shape[1] #4

#Suche
for j in reversed(range(array.shape[0])):
    #Oberer Bereich
    for i in range(column_start, column_end):  
        if array[i][j] >= target - 1:
            column_start = i
            break
    print(str(A[i]) + "Wann" + str(B[j]) + "Ist ein Paar.")

Was ich gelernt habe

Ich habe gelernt, ein Problem mit weniger Rechenaufwand zu lösen.

abschließend

Um ehrlich zu sein, wusste ich wegen mangelnder Studien nicht, wie man die letzte Methode anwendet. Ich möchte weiterhin Programmieren lernen.   Danke für Ihren Besuch.

Referenz-URL

5 Tipps zur Problemlösung beim Knacken von Coding-Interviewfragen (Link zum YouTube-Video)

Recommended Posts

Vergleichen Sie die Summe jedes Elements in zwei Listen mit dem in Python angegebenen Wert
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
Tipps: [Python] Berechnen Sie den Durchschnittswert des angegebenen Bereichs mit Bedgraph
Passen Sie die Verteilung jeder Gruppe in Python an
Finden Sie den Bruchteil des in Python eingegebenen Werts heraus
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Geben Sie für jede Datei die angegebene Tabelle der Oracle-Datenbank in Python in Excel aus
Überprüfen Sie die Funktionsweise von Python für .NET in jeder Umgebung
Berechnen Sie mit Python Millionen von Stellen in der Quadratwurzel von 2
Erstellen Sie eine Multiplikationstabelle für jedes Element in einer Tabelle (Python).
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
So bestimmen Sie die Existenz eines Selenelements in Python
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Visualisieren Sie die Häufigkeit von Wortvorkommen in Sätzen mit Word Cloud. [Python]
Python Hinweis: Map - Machen Sie dasselbe für jedes Element der Liste
Lösen Sie Teilsummenprobleme mit der vollständigen Suche in Python
Ein Memo eines Programms, das ein zweistelliges Datum mit Javascript, Ruby, Python oder einem Shell-Skript abruft.
Zählen Sie, wie oft zwei Werte gleichzeitig in einem Element vom Typ Python 3-Iterator angezeigt werden
Überprüfen Sie die Existenz der Datei mit Python
Zeigen Sie Python 3 im Browser mit MAMP an
Das Ergebnis der Installation von Python auf Anaconda
Grundlagen zum Ausführen von NoxPlayer in Python
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Projekt Euler # 16 "Summe der Kräfte" in Python
Zeichnen Sie die CSV von Zeitreihendaten mit einem Unixtime-Wert in Python (matplotlib).
Auf der Suche nach dem schnellsten FizzBuzz in Python
Ruft den Rückgabewert eines externen Shell-Skripts (ls) mit python3 ab
[Python] Lesen Sie die angegebene Zeile in der Datei
Status jedes Python-Verarbeitungssystems im Jahr 2020
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
So geben Sie mit Jupyter Notebook einen Wert in der Mitte einer Zelle aus
Teilt die Zeichenfolge durch die angegebene Anzahl von Zeichen. In Ruby und Python.
Drehen Sie in Python mehrere Listen mit for-Anweisung gleichzeitig
Holen Sie sich das letzte Element des Arrays, indem Sie Zeichenfolgen in Python und PHP aufteilen
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Geben Sie die Anzahl der CPU-Kerne in Python aus
[Python] Holen Sie sich die Dateien mit Python in den Ordner
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
Bereiten Sie die Ausführungsumgebung von Python3 mit Docker vor
2016 Todai Mathematik mit Python gelöst
Projekt Euler # 10 "Summe der Primzahlen" in Python
Finden Sie den Stimmungswert mit Python (Rike Koi)
[Hinweis] Exportieren Sie das HTML der Site mit Python.
Holen Sie sich den Aufrufer einer Funktion in Python
[Automatisierung] Extrahieren Sie die Tabelle als PDF mit Python
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Kopieren Sie die Liste in Python
Überprüfen Sie das Datum der Flaggenpflicht mit Python
Umschreiben von Elementen in einer Listenschleife (Python)
Vergleichen Sie die Geschwindigkeit von Python Append und Map
Finden Sie die Lösung der Gleichung n-ter Ordnung mit Python
Die Geschichte des Lesens von HSPICE-Daten in Python
[Hinweis] Über die Rolle des Unterstrichs "_" in Python