From 7ee88aae8d8cd440996fc8fec639dc55a50a3b3b Mon Sep 17 00:00:00 2001 From: schneefux Date: Thu, 20 Nov 2014 18:14:25 +0100 Subject: kleinere Optimierungen und Dokumentation --- faehre_fuellen.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 faehre_fuellen.md (limited to 'faehre_fuellen.md') diff --git a/faehre_fuellen.md b/faehre_fuellen.md new file mode 100644 index 0000000..8cec7b9 --- /dev/null +++ b/faehre_fuellen.md @@ -0,0 +1,48 @@ +Fähre füllen +============ + +Die Lösung zu Fähre füllen beinhaltet wie gefordert zwei Strategien `strategie_a`, `strategie_b`. +Beide Funktionen nehmen eine Liste mit Autolängen als Eingabe und geben ein `dict` mit der Länge und Anzahl aller Autos zurück. Mit `print` wird angegeben, wo die Autos einsortiert werden. + +Strategie A +----------- + +Die Fahrzeuge werden möglichst weit links angeordnet. Am effizienten ist das bei einer Folge wie beispielsweise +``` +6, 6, 6, 15, 15, 15, ... +``` +da hierbei die meiste Anzahl an Fahrzeugen hineinpasst, verglichen mit B. + +Strategie B +----------- + +Die Fahrzeuge werden möglichst gleichmäßig auf die drei Spalten verteilt. Die Folge vom Beispiel in A) würde dazu führen, dass nur 3 Fahrzeuge (`6, 6, 6`) Platz hätten. In dem Beispiel +``` +8, 8, 8, 5, 5, 5, 5, 5, 5, ... +``` +werden für A) 8 Fahrzeuge eingeordnet und für B) 9. + +TODO FIXME BEISPIELE ANWENDEN + +Beispiele +--------- + +``` +>>> import faehre_fuellen +>>> faehre_fuellen.strategie_a([15, 15, 15, 15, 15, 6, 6, 6]) +6 wurde eingeordnet in die Reihe 0 +6 wurde eingeordnet in die Reihe 0 +6 wurde eingeordnet in die Reihe 0 +15 wurde eingeordnet in die Reihe 1 +15 wurde eingeordnet in die Reihe 2 +Das Fahrzeug 15 hat nicht mehr gepasst +{'anzahl': [3, 1, 1], 'länge': [18, 15, 15]} +>>> +>>> +>>> faehre_fuellen.strategie_b([15, 15, 15, 15, 15, 6, 6, 6]) +6 wurde eingeordnet in Reihe 0 +6 wurde eingeordnet in Reihe 1 +6 wurde eingeordnet in Reihe 2 +Das Fahrzeug 15 hat nicht mehr gepasst +{'anzahl': [1, 1, 1], 'länge': [6, 6, 6]} +``` -- cgit v1.3.1