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

Kira bilangan kejadian subrentetan secara rekursif dalam Java

王林
王林ke hadapan
2023-09-17 19:49:021209semak imbas

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";

output

Count of occurrences of a substring recursively are: 4

Penjelasan

ialah:

Penjelasan

The substring TP occurs 4 times in str1.

Terjemahan Bahasa Cina bagi inputreee🜜
str1 = "HiHOwAReyouHiHi" str2 = "Hi"

ialah:

Penjelasan

Count of occurrences of a substring recursively are: 3

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.

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;
   }
}

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam