Rumah > Java > javaTutorial > Mengapa Algoritma Pengiraan Substring Saya Tidak Terhenti?

Mengapa Algoritma Pengiraan Substring Saya Tidak Terhenti?

Mary-Kate Olsen
Lepaskan: 2024-12-15 20:31:10
asal
365 orang telah melayarinya

Why Doesn't My Substring Counting Algorithm Halt?

Mengapa algoritma yang diberikan tidak terhenti?

Dalam algoritma yang disediakan, percubaan dibuat untuk mencari bilangan kejadian subrentetan dalam rentetan. Walau bagaimanapun, algoritma direka untuk meneruskan sehingga indeks terakhir subrentetan dalam rentetan menjadi -1. Syarat ini tidak akan dapat dipenuhi kerana indeks terakhir sentiasa dikemas kini dengan menambah panjang subrentetan padanya. Akibatnya, algoritma akan terus mencari subrentetan selama-lamanya, tidak pernah ditamatkan.

Menggunakan Apache Commons Lang untuk Pengiraan Subrentetan

Pendekatan alternatif untuk mengira kejadian subrentetan ialah untuk menggunakan kaedah StringUtils.countMatches daripada Apache Commons Lang. Kaedah ini mengambil rentetan dan subrentetan sebagai argumen dan mengembalikan bilangan kali subrentetan muncul dalam rentetan. Menggunakan kaedah ini, masalah asal boleh diselesaikan dengan kod berikut:

String str = "helloslkhellodjladfjhello";
String findStr = "hello";

System.out.println(StringUtils.countMatches(str, findStr));
Salin selepas log masuk

Kod ini mengeluarkan:

3
Salin selepas log masuk

yang mengira kejadian subrentetan "hello" dengan betul dalam rentetan "helloslkhellodjladfjhello".

Atas ialah kandungan terperinci Mengapa Algoritma Pengiraan Substring Saya Tidak Terhenti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan