Inspiriert von einem aktuellen Daily WTF-Artikel ...
Schreiben Sie ein Programm oder eine Funktion, die eine GUID (Zeichenfolge im Format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, wobei jedes X eine hexadezimale Ziffer darstellt) und die um eins erhöhte GUID ausgibt.
Beispiele
>>> increment_guid('7f128bd4-b0ba-4597-8f35-3a2f2756dfbb')
'7f128bd4-b0ba-4597-8f35-3a2f2756dfbc'
>>> increment_guid('06b86883-f3e7-4f9d-87c5-a047e89a19fa')
'06b86883-f3e7-4f9d-87c5-a047e89a19fb'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2cf')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2d0'
>>> increment_guid('89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29f')
'89f25f2f-2f7b-4aa6-b9d7-46a98e3cb2a0'
>>> increment_guid('8e0f9835-4086-406b-b7a4-532da46963ff')
'8e0f9835-4086-406b-b7a4-532da4696400'
>>> increment_guid('7f128bd4-b0ba-4597-ffff-ffffffffffff')
'7f128bd4-b0ba-4598-0000-000000000000'
Anmerkungen
- Anders als im verlinkten Artikel muss das Inkrementieren einer GUID, die mit F endet, auf die vorherige Hex-Ziffer übertragen werden. Siehe obige Beispiele.
- Sie können davon ausgehen, dass die Eingabe nicht sein wird
ffffffff-ffff-ffff-ffff-ffffffffffff. - Bei Hexadezimalzahlen über 9 können Sie entweder Groß- (AF) oder Kleinbuchstaben (af) eingeben.
- Ja, GUIDs können mit einem beginnen
0. - Ihre Ausgabe muss aus genau 32 Hexadezimalstellen und 4 Bindestrichen im erwarteten Format bestehen, einschließlich aller erforderlichen vorangestellten
0s. - Sie müssen die Versionsnummer oder andere feste Bits der GUID nicht beibehalten. Angenommen, es ist nur eine 128-Bit-Ganzzahl, bei der keines der Bits eine besondere Bedeutung hat. In ähnlicher Weise wird angenommen, dass GUIDs in einer einfachen lexikografischen Reihenfolge und nicht in der binären Reihenfolge einer Windows-
GUIDStruktur sortiert werden . - Wenn eine Funktion schreiben, kann die Eingabe eines beliebigen Sequenz-of- seinen
charDatentypen:string,char[],List<char>usw.
GUIDStruktur sortiert werden .
89f25f2f-2f7b-4aa6-b9d7-46a98e3cb29fum sicherzustellen, dass Antworten den Übergang schaffen können 9 -> a.
foreach (char ch in theInput)gültig ist.