Rumah > Java > javaTutorial > Kira bilangan kejadian subrentetan secara rekursif dalam Java

Kira bilangan kejadian subrentetan secara rekursif dalam Java

王林
Lepaskan: 2023-09-17 19:49:02
ke hadapan
1214 orang telah melayarinya

Kira bilangan kejadian subrentetan secara rekursif dalam Java

Diberi dua rentetan str_1 dan str_2. Matlamatnya adalah untuk mengira bilangan kejadian subrentetan str2 dalam rentetan str1 menggunakan prosedur rekursif.

Fungsi rekursif ialah fungsi yang memanggil dirinya dalam definisinya.

Jika str1 ialah "Saya tahu anda tahu bahawa saya tahu" dan str2 ialah "tahu"

Bilangan kejadian ialah - 3

Mari kita fahami melalui contoh.

Sebagai contoh, terjemahan bahasa Cina bagi

input

str1 = "TPisTPareTPamTP", str2 = "TP";
Salin selepas log masuk

output

Count of occurrences of a substring recursively are: 4
Salin selepas log masuk

Penjelasan

ialah:

Penjelasan

The substring TP occurs 4 times in str1.
Salin selepas log masuk

Terjemahan Bahasa Cina bagi inputreee🜜
str1 = "HiHOwAReyouHiHi" str2 = "Hi"
Salin selepas log masuk

ialah:

Penjelasan

Count of occurrences of a substring recursively are: 3
Salin selepas log masuk

di bawah Kaedah yang digunakan dalam atur cara adalah seperti berikut

-

Dalam kaedah ini, kita akan mencari kejadian str2 dalam str1 menggunakan kaedah contains() dalam java. Mengembalikan benar jika str2 wujud dalam str1. Jika benar, alih keluar padanan pertama daripada str1 dengan menggantikannya dengan "" menggunakan kaedah ReplaceFirst() dalam java dan menambah 1 pada nilai pulangan untuk meningkatkan kiraan.

Ambil dua tali sebagai str1 dan str2.
  • Kaedah rekursif subsrting_rec(String str, String sub) menerima rentetan str dan subrentetannya dan mengembalikan bilangan kali sub muncul dalam str
  • Semak sama ada str.contains(sub) adalah benar. ( str mempunyai sub )
  • Jika benar, gunakan str.replaceFirst(sub,"") untuk menggantikan kejadian pertama sub dengan "".
  • Lakukan ini dalam panggilan rekursif ke subsrting_rec(String str, String sub).
  • Pada akhir semua ulangan, jumlah semua nilai yang dikembalikan dikira .
  • Cetak hasilnya.
  • Contoh
Live Demo

The substring Hi occurs 3 times in str1.
Salin selepas log masuk

Output

Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut -

public class recursive{
   public static void main(String args[]){
      String str1 = "TPisTPareTPamTP", str2 = "TP";
      System.out.println("Count of occurrences of a substring recursively are: "+subsrting_rec(str1, str2));
   }
   static int subsrting_rec(String str, String sub){
      if (str.contains(sub)){
         return 1 + subsrting_rec(str.replaceFirst(sub, ""), sub);
      }
      return 0;
   }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Kira bilangan kejadian subrentetan secara rekursif dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan