Heim > Artikel > Backend-Entwicklung > Golang wiederholt das längste Zeichen kontinuierlich
php-Editor Baicao stellt Ihnen eine interessante Methode zur Problemlösung vor – „Golang wiederholt kontinuierlich das längste Zeichen“. Der Kern dieses Problems besteht darin, die am häufigsten aufeinanderfolgenden Zeichen und deren Anzahl in einer Zeichenfolge zu finden. In Golang können wir diese Funktion erreichen, indem wir jedes Zeichen der Zeichenfolge durchlaufen und Zähler und Maximalvariablen verwenden. Mit diesem einfachen und effizienten Algorithmus können wir dieses Problem leicht lösen und genaue Ergebnisse erhalten. Lassen Sie uns als Nächstes mehr über den spezifischen Implementierungsprozess erfahren!
package main import ( "fmt" ) type Result struct { C rune // character L int // count } func main() { fmt.Print(LongestRepetition("")) } func LongestRepetition(text string) Result { if text == "" { return Result{} } var max Result if len(text) == 1 { max.C = rune(text[0]) max.L = 1 return max } var count Result for _, s := range text { if count.C == s { count.L++ count.C = s if count.L > max.L { max.C = count.C max.L = count.L } } else { count.L = 1 count.C = s } } return max }
////
erwartet
Ich versuche, https://www.codewars.com/kata/586d6cefbcc21eed7a001155/train/go abzuschließen Das am längsten kontinuierlich wiederholte Zeichen Für meine Tests funktioniert es gut Aber wenn ich auf CW drücke, kann der Biegetest nicht abgeschlossen werden Bitte hilf mir Vielleicht kann ich meinen Code irgendwo verbessern oder etwas, worüber ich verwirrt bin
Ihre Lösung ist zu kompliziert. vereinfachen.
type result struct { c rune // character l int // count } func longestrepetition(text string) result { max := result{} r := result{} for _, c := range text { if r.c != c { r = result{c: c} } r.l++ if max.l < r.l { max = r } } return max }
Time: 1737ms Passed: 2 Failed: 0 Test Results: Fixed Tests it should work with the fixed tests Random Tests it should work with the random tests You have passed all of the tests! :)
Das obige ist der detaillierte Inhalt vonGolang wiederholt das längste Zeichen kontinuierlich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!