Definieren wir eine Matrix von 9s als:
Definieren wir eine explodierende Zahl als eine Zahl an Position , die in gleiche ganze Zahlen zwischen allen benachbarten Nachbarn (einschließlich sich selbst) zerlegt werden kann und deren absoluter Wert größer als 0 ist.
Lassen Sie uns aus der vorherigen Matrix die Zahl an Position (0 indiziert)
Manchmal ist das Zerlegen des Ergebnisses in eine rationale Zahl größer als 1. Dies ist etwas, das wir beim Auflösen von Zahlen vermeiden müssen. In diesem Fall wird der Rest der explodierten Nummer zugewiesen.
Um dies zu demonstrieren, arbeiten wir weiter mit unserer vorherigen Matrix. Dieses Mal werden wir die Zahl an der Position explodieren
Hier haben wir 3 Nachbarn und die Nummer selbst. Hier ist die Gleichung was uns 2 für jede und 2 für den Rest gibt.
Manchmal ist eine Zahl auch nicht groß genug, um zu gleichen Teilen (wobei abs größer als 0 ist) zwischen seinen Nachbarn zerlegt zu werden (| rationale Zahl | <1). In diesen Fällen müssen wir von der explodierten Nummer "leihen" , um den Zustand "größer als 0" beizubehalten . Fahren wir mit unserem vorherigen Beispiel fort und explodieren die Zahl an Position .
Die Herausforderung besteht darin, bei einer Liste von Positionen und einem endlichen, nicht leeren Array von natürlichen Zahlen die aufgelöste Form zurückzugeben, nachdem jede Zahl aus der Positionsliste aufgelöst wurde.
Testfälle
Eingang: initial matrix: [[3, 3, 3], [3, 3, 3], [3, 3, 3]], numbers: [[0,0],[0,1],[0,2]]
Ausgabe: [[1, 0, 1], [5, 6, 5], [3, 3, 3]]
Eingang: Initial matrix: [[9, 8, 7], [8, 9, 7], [8, 7, 9]], numbers: [[0,0],[1,1],[2,2]]
Ausgabe: [[4, 11, 8],[11, 5, 10],[9, 10, 4]]
Eingang: Initial matrix: [[0, 0], [0, 0]], numbers: [[0,0],[0,0],[0,0]]
Ausgabe: [[-9, 3],[3, 3]]
Eingang: Initial Matrix: [[10, 20, 30],[30, 20, 10],[40, 50, 60]], numbers: [[0,2],[2,0],[1,1],[1,0]]
Ausgabe: [[21, 38, 13], [9, 12, 21], [21, 71, 64]]
Eingang: Initial Matrix: [[1]], numbers: [[0,0]]
Ausgabe: [[1]]
Eingang: Initial Matrix: [[1, 2, 3]], numbers: [[0,0], [0, 1]]
Ausgabe: [[1, 1, 4]]
Anmerkungen
Input / Output - Regeln gelten
Sie können davon ausgehen, dass die Eingabematrix niemals leer sein wird
Sie können davon ausgehen, dass Koordinaten immer gültig sind
Die Eingabekoordinate in Testfällen wird als (Zeile, Spalte) angegeben. Wenn Sie möchten, dass es (x, y) ist, können Sie die Werte austauschen. Wenn ja, geben Sie dies bitte in Ihrer Antwort an