1652. Entschärfe die Bombe
Schwierigkeit:Einfach
Themen:Array, Schiebefenster
Sie müssen eine Bombe entschärfen und Ihre Zeit wird knapp! Ihr Informant wird Ihnen einen zirkulären Array-Code mit der Länge n und einem Schlüssel k.
zur Verfügung stellenUm den Code zu entschlüsseln, müssen Sie jede Zahl ersetzen. Alle Zahlen werden gleichzeitig ersetzt.
Da der Code zirkulär ist, ist das nächste Element von Code[n-1] Code[0] und das vorherige Element von Code[0] ist Code[n-1].
Angesichts des zirkulären Array-Codes und eines ganzzahligen Schlüssels k, gib den entschlüsselten Code zurück, um die Bombe zu entschärfen!
Beispiel 1:
Beispiel 2:
Beispiel 3:
Einschränkungen:
Hinweis:
Lösung:
Wir können eine Funktion implementieren, die das Code-Array durchläuft und die Summe der entsprechenden Zahlen basierend auf dem Wert von k berechnet.
Der allgemeine Ansatz wird wie folgt sein:
Die kreisförmige Natur des Arrays bedeutet, dass Sie für Indizes, die die Grenzen des Arrays überschreiten, Modulo (%) verwenden können, um das Array zu „umschließen“.
Lassen Sie uns diese Lösung in PHP implementieren: 1652. Entschärfe die Bombe
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
|