Die Weekly Challenge, organisiert von Mohammad S. Anwar, ist ein freundlicher Wettbewerb, bei dem Entwickler gegeneinander antreten, indem sie zwei Aufgaben lösen. Es fördert die Teilnahme von Entwicklern aller Sprachen und Niveaus durch Lernen, Teilen und Spaß haben.
Aufgabe 1: Einsen und Nullen von The Weekly Challenge fordert Entwickler auf, die größte Teilmenge zu finden, die höchstens x Nullen und y Einsen enthält.
In diesem Beitrag diskutiere und präsentiere ich meine Python-Sprachlösung für Aufgabe 1: Einsen und Nullen und schließe sie mit einer kurzen Schlussfolgerung ab.
Sie erhalten ein Array aus Binärzeichenfolgen, @str, und zwei Ganzzahlen, $x und $y.
Schreiben Sie ein Skript, um die Größe der größten Teilmenge von @str zurückzugeben, sodass die Teilmenge höchstens $x 0 und $y 1 enthält.
Eine Menge m ist eine Teilmenge von n, wenn alle Elemente von m auch Elemente von n sind.
Die wöchentliche Herausforderung 302, Aufgabe 1: Einsen und Nullen
Beispiele 1 und 2 zeigen die erwarteten Ausgaben aus gegebenen Eingaben.
Input: @str = ("10", "0001", "111001", "1", "0") $x = 5 $y = 3 Output: 4
Die größte Teilmenge mit höchstens fünf Nullen und drei Einsen: („10“, „0001“, „1“, „0“).
Input: @str = ("10", "1", "0") $x = 1 $y = 1 Output: 2
Die größte Teilmenge mit höchstens einer Null und einer Eins: („1“, „0“).
from itertools import combinations def return_subset(strs: list[list], x: int, y: int) -> int | None: for r in range(len(strs) - 1, 1, -1): subsets = combinations(strs, r) for subset in subsets: total_zeros = 0 total_ones = 0 for element in subset: total_zeros += element.count('0') total_ones += element.count('1') if total_zeros <= x and total_ones <= y: return len(subset) return None
Meine Lösung verwendet itertools.combinations, for-Schleifen und if-Anweisungen, um die Teilmenge zu finden, die den Aufgabenanforderungen entspricht:
In diesem Beitrag habe ich Aufgabe 1: Einsen und Nullen besprochen und meine Lösung für diese Aufgabe vorgestellt.
Erfahren Sie mehr über die neuesten und vergangenen Herausforderungen auf der Website der Weekly Challenge:
https://theweeklychallenge.org/
Erfahren Sie mehr über die Teilnahme in den FAQ zur Weekly Challenge:
https://theweeklychallenge.org/faq/
Das obige ist der detaillierte Inhalt vonLösen der Einsen und Nullen der wöchentlichen Herausforderungsaufgabe in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!