Herausforderung Mit freundlicher Genehmigung meines University Code Challenge Contest
Nachdem Marie vor ein paar Monaten ihr Studium beendet hatte, eröffnete sie ein Bankkonto, um die Zahlung ihres ersten Jobs in der Stadt zu erhalten. Seitdem hat sie einige Transaktionen damit durchgeführt. Ihre erste Zahlung war 1000 Dollar. Mit diesem Geld bezahlte sie ein Abendessen, zu dem sie ihre Eltern einlud (das Abendessen kostete 150 Dollar), dann kaufte sie in einem bekannten Supermarkt ein (80 Dollar) und reservierte ein Hotel für ihren Urlaub (200 Dollar). Am Ende des Monats erhielt sie ihre Zahlung erneut (1040 Dollar, etwas mehr als im Vormonat) und am Tag danach gab sie weitere 70 Dollar im Supermarkt aus.
Heute stellte sie fest, dass, wenn nach der Zahlung der ersten 80 Dollar im Supermarkt ein zweites Konto erstellt und das erste eingefroren worden wäre, beide Konten genau den gleichen Kontostand hätten:
Das Ereignis war für sie so selten, dass sie weiterhin feststellen möchte, ob die Bewegungen ihres Kontos und die ihrer Freunde auch diese Funktion haben oder nicht.
Herausforderung
Geben Sie anhand einer Liste von Transaktionen die Anzahl der Zeitpunkte aus, in denen der Inhaber des Bankkontos ein zweites Konto hätte erstellen können, sodass beide den gleichen endgültigen Kontostand hatten.
Beispiel: [1000, -150, -80, -200, 1040, -70]
Testfall
- Eingabe:
1000 -150 -80 -200 1040 -70Ausgabe:1 - Eingabe:
100 -100Ausgabe:2 - Eingabe:
1 2 3Ausgabe:1 - Eingabe:
10 -20 15Ausgabe:0 - Eingabe:
15 -15 15 -15Ausgabe:3 - Eingabe:
1Ausgabe:0
Anmerkungen
- Sie können davon ausgehen, dass es keine Transaktion von 0 US-Dollar gibt
- Sie können auf jede vernünftige Weise Eingaben vornehmen