Subset Check bei ganzzahligen Scheiben in Go Verwenden Sie MAP
feststellen, ob eine Reihe von Ganzzahlen eine Teilmenge eines anderen erfordert, erfordert eine effiziente Lösung, die über die einfache Iteration hinausgeht. In diesem Artikel wird eine Lösung eingeführt, die eine Karte verwendet, um den Scheck zu optimieren.
subset Definition
Ein Stück wird als Teilmenge eines anderen angesehen, wenn er alle Elemente des letzteren enthält, mit der möglichen Einbeziehung von Duplikaten. Zum Beispiel ist {1, 2, 3} eine Untergruppe von {1, 2, 3, 4}, während {1, 2, 2} keine Untergruppe von {1, 2, 3, 4} ist. Es konstruiert eine Karte aus der zweiten Scheibe, wobei die Anzahl jedes Elements als Wert zählt. Anschließend iteriert es durch das erste Stück und überprüft das Vorhandensein jedes Elements in der Karte. Wenn alle Elemente mit ausreichenden Duplikaten gefunden werden, gilt das erste Slice als Untergruppe. // Untergruppe gibt true zurück, wenn das erste Array vollständig ist // im zweiten Array enthalten. Es muss zumindest geben // die gleiche Anzahl von doppelten Werten in Sekunde wie da // sind zuerst. Func Subset (zuerst, zweite [] int) bool { SET: = make (map [int] int) Für _, Wert: = Bereich Sekunde { einstellen [Wert] } Für _, Wert: = Bereich zuerst { wenn zählt, ok: = set [value]; !OK { Return falsch } else wenn count
output
true false
schlussfolgerung
Diese kartenbasierte Lösung bestimmt effizient, ob eine Ganzzahl eine Untergruppe eines anderen und potenziellen doppelten Werte mit Handhabung von potenziellen Werten handelt. Es bietet einen optimierten Ansatz zur Lösung dieses gemeinsamen Problems in Go.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3