ホームページ >バックエンド開発 >Golang >golang は最長の文字を連続して繰り返します

golang は最長の文字を連続して繰り返します

王林
王林転載
2024-02-11 15:24:101117ブラウズ

golang は最長の文字を連続して繰り返します

php エディター Baicao が、「golang は最長の文字を連続的に繰り返す」という興味深い問題解決方法を紹介します。この問題の核心は、文字列内で最も連続した文字とその番号を見つけることです。 Golang では、文字列の各文字をループし、カウンターと最大変数を使用することで、この機能を実現できます。このシンプルで効率的なアルゴリズムを使用すると、この問題を簡単に解決し、正確な結果を得ることができます。次は、具体的な導入プロセスについて見ていきましょう!

質問内容

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
}

//// 期待される : {c: 0, l: 0} 等しい : {c: 98, l: 1}

https://www.codewars.com/kata/586d6cefbcc21eed7a001155/train/go を完了しようとしています 連続して繰り返される最長の文字 私のテストでは正常に動作しました しかし、CWに押すと、曲げテストを完了できません 私を助けてください どこかでコードを改善できるか、または混乱している点があるかもしれません。

解決策

あなたの解決策は複雑すぎます。簡略化する。

リーリー リーリー

以上がgolang は最長の文字を連続して繰り返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。