Rumah  >  Soal Jawab  >  teks badan

java实现求字符串中出现次数最多的字串(单个字符不算)如"abcbcbcabc"的最终答案是bc 共出现了4 次,

如题java实现求字符串中出现次数最多的字串(单个字符不算)如"abcbcbcabc"的最终答案是bc 共出现了4 次,

怪我咯怪我咯2720 hari yang lalu426

membalas semua(2)saya akan balas

  • 迷茫

    迷茫2017-04-18 10:17:27

    Andaikan subrentetan s muncul x kali dalam rentetan S, kemudian subrentetan s2 subrentetan s akan muncul sekurang-kurangnya x kali, atau lebih

    Dan satu aksara tidak dikira, jadi inilah masalahnya. Salah satu subrentetan yang paling kerap muncul mestilah subrentetan 2 aksara

    Jika anda hanya ingin mencari mana-mana yang memenuhi syarat, anda hanya perlu mencari subrentetan 2 aksara

    Jika anda ingin mencari semua subrentetan dengan bilangan maksimum kejadian = bilangan maksimum kejadian, ia akan menjadi lebih rumit sedikit.

    1. Anggapkan bahawa panjang rentetan S ialah N
    2 Gabungkan dua aksara bersebelahan dalam rentetan ke dalam subrentetan N-1, dan kemudian hitung rentetan bait 2 aksara untuk melihat mana yang paling banyak muncul.
    3. Jika tiada rentetan 2 aksara dengan nombor lebih besar daripada 1, carian akan tamat
    4 Jika terdapat berbilang rentetan 2 aksara dengan masa yang sama lebih besar daripada 1, kemudian bandingkan rentetan 2 aksara ini. untuk melihat jika ada yang pertama Hujung rentetan adalah sama dengan rentetan pada permulaan rentetan kedua Contohnya, ab muncul 3 kali dan bc muncul 3 kali. tentukan kejadian rentetan 3 aksara Bilangan kali, jika bilangannya kurang daripada bilangan kejadian rentetan 2 aksara, maka jawapannya ialah rentetan 2 aksara, jika tidak, ia mungkin 3 aksara. rentetan.
    5 Kemudian teruskan mengesan 4, 5 dan 6 rentetan aksara

    Selain itu, kita perlu menjelaskan algoritma statistik untuk bilangan kejadian rentetan Sebagai contoh, adakah subrentetan aa dalam aaaaa muncul 3 kali atau 5 kali?

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:17:27

    Rasanya lebih mudah untuk menjadi biasa. Jika anda tidak menggunakan ungkapan biasa, anda pastinya perlu mengulang atau mengulangi untuk menyelesaikannya

    balas
    0
  • Batalbalas