搜尋
首頁Javajava教程在Java中遞歸地計算子字串出現的次數
在Java中遞歸地計算子字串出現的次數Sep 17, 2023 pm 07:49 PM
遞迴計算子字串

在Java中遞歸地計算子字串出現的次數

給定兩個字串 str_1 和 str_2。目標是使用遞歸過程計算字串 str1 中子字串 str2 的出現次數。

遞歸函數是在其定義中呼叫自身的函數。

如果str1 是"I know that you know that i know",str2 是"know"

出現次數為- 3

##讓我們透過範例來理解。

例如

輸入

str1 = "TPisTPareTPamTP", str2 = "TP";

#輸出

Count of occurrences of a substring recursively are: 4

Explanation

的中文翻譯為:

解釋

The substring TP occurs 4 times in str1.

輸入

str1 = "HiHOwAReyouHiHi" str2 = "Hi"

輸出

Count of occurrences of a substring recursively are: 3

Explanation

的中文翻譯為:

解釋

The substring Hi occurs 3 times in str1.

#在下面程式中使用的方法如下 -

在這種方法中,我們將使用java 中的contains() 方法搜尋str2 在str1 中的出現。如果str2存在於str1中,則傳回true。如果為 true,請使用 java 中的 ReplaceFirst() 方法將其替換為“”,然後將返回值加 1 以增加計數,從而從 str1 中刪除第一個匹配項。

  • 取兩個字串當str1和str2。

  • 遞歸方法subsrting_rec(String str, String sub) 接受字串str 及其子字串sub 並傳回sub 在str 中出現的次數.

  • #檢查str.contains(sub)是否為true。 ( str 有 sub )

  • 如果為 true,則使用 str.replaceFirst(sub,””) 將第一次出現的 sub 替換為“”。

  • 在 subsrting_rec(String str, String sub) 的遞歸呼叫中執行此動作。

  • 在所有遞歸結束時,所有傳回值的總和為 count .

  • 列印結果。

範例

 即時示範

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

#輸出

如果我們執行上面的程式碼,它將產生以下輸出-

Count of occurrences of a substring recursively are: 4

以上是在Java中遞歸地計算子字串出現的次數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
MySQL中如何使用SUM函数计算某个字段的总和MySQL中如何使用SUM函数计算某个字段的总和Jul 13, 2023 pm 10:12 PM

MySQL中如何使用SUM函数计算某个字段的总和在MySQL数据库中,SUM函数是一个非常有用的聚合函数,它可以用于计算某个字段的总和。本文将介绍如何在MySQL中使用SUM函数,并提供一些代码示例来帮助读者深入理解。首先,让我们看一个简单的示例。假设我们有一个名为"orders"的表,其中包含了顾客的订单信息。表结构如下:CREATETABLEorde

新研究揭示量子蒙特卡洛超越神经网络在突破限制方面的潜力,Nature子刊详述最新进展新研究揭示量子蒙特卡洛超越神经网络在突破限制方面的潜力,Nature子刊详述最新进展Apr 24, 2023 pm 09:16 PM

时隔四个月,ByteDanceResearch与北京大学物理学院陈基课题组又一合作工作登上国际顶级刊物NatureCommunications:论文《TowardsthegroundstateofmoleculesviadiffusionMonteCarloonneuralnetworks》将神经网络与扩散蒙特卡洛方法结合,大幅提升神经网络方法在量子化学相关任务上的计算精度、效率以及体系规模,成为最新SOTA。论文链接:​​https://www.nature.com

计算矩阵右对角线元素之和的Python程序计算矩阵右对角线元素之和的Python程序Aug 19, 2023 am 11:29 AM

一种受欢迎的通用编程语言是Python。它被应用于各种行业,包括桌面应用程序、网页开发和机器学习。幸运的是,Python具有简单易懂的语法,适合初学者使用。在本文中,我们将使用Python来计算矩阵的右对角线之和。什么是矩阵?在数学中,我们使用一个矩形排列或矩阵,用于描述一个数学对象或其属性,它是一个包含数字、符号或表达式的矩形数组或表格,这些数字、符号或表达式按行和列排列。例如−234512367574因此,这是一个有3行4列的矩阵,表示为3*4矩阵。现在,矩阵中有两条对角线,即主对角线和次对

Nature刊登量子计算重大进展:有史以来第一个量子集成电路实现Nature刊登量子计算重大进展:有史以来第一个量子集成电路实现Apr 08, 2023 pm 09:01 PM

6 月 23 日,澳大利亚量子计算公司 SQC(Silicon Quantum Computing)宣布推出世界上第一个量子集成电路。这是一个包含经典计算机芯片上所有基本组件的电路,但体量是在量子尺度上。SQC 团队使用这种量子处理器准确地模拟了一个有机聚乙炔分子的量子态——最终证明了新量子系统建模技术的有效性。「这是一个重大突破,」SQC 创始人 Michelle Simmons 说道。由于原子之间可能存在大量相互作用,如今的经典计算机甚至难以模拟相对较小的分子。SQC 原子级电路技术的开发将

使用Python的abs()函数计算数值的绝对值使用Python的abs()函数计算数值的绝对值Aug 22, 2023 pm 12:07 PM

使用Python的abs()函数计算数值的绝对值绝对值是一个数与零点的距离,无论这个数是正数还是负数,其绝对值都是非负数。在Python中,我们可以使用内置函数abs()来计算一个数的绝对值。本文将详细介绍abs()函数的使用方法,并给出一些代码示例。abs()函数的语法如下:abs(x)其中,x是需要计算绝对值的数值。下面是一些使用abs()函数的示例:示

Michael Bronstein从代数拓扑学取经,提出了一种新的图神经网络计算结构!Michael Bronstein从代数拓扑学取经,提出了一种新的图神经网络计算结构!Apr 09, 2023 pm 10:11 PM

本文由Cristian Bodnar 和Fabrizio Frasca 合著,以 C. Bodnar 、F. Frasca 等人发表于2021 ICML《Weisfeiler and Lehman Go Topological: 信息传递简单网络》和2021 NeurIPS 《Weisfeiler and Lehman Go Cellular: CW 网络》论文为参考。本文仅是通过微分几何学和代数拓扑学的视角讨论图神经网络系列的部分内容。从计算机网络到大型强子对撞机中的粒子相互作用,图可以用来模

清华大学类脑芯片天机芯X登Science子刊封面,机器人版猫捉老鼠上演清华大学类脑芯片天机芯X登Science子刊封面,机器人版猫捉老鼠上演Apr 14, 2023 pm 05:01 PM

​清华大学举办的一场机器人版猫捉老鼠游戏,登上了Science子刊封面。这里的汤姆猫有了新的名字:“天机猫”,它搭载了清华大学类脑芯片的最新研究成果——一款名为TianjicX的28nm神经形态计算芯片。它的任务是抓住一只随机奔跑的电子老鼠:在复杂的动态环境下,各种障碍被随机地、动态地放置在不同的位置,“天机猫”需要通过视觉识别、声音跟踪或两者结合的方式来追踪老鼠,然后在不与障碍物碰撞的情况下向老鼠移动,最终追上它。在此过程中,“天机猫”需要实现实时场景下的语音识别、声源定位、目标检测、避障和决

Vue中如何使用表达式计算动态样式Vue中如何使用表达式计算动态样式Jun 11, 2023 am 09:22 AM

Vue是一种轻量级的JavaScript框架,它提供了一种简便的方式来管理应用程序和呈现动态内容。Vue中的样式绑定允许您使用表达式来计算动态样式,从而使您的应用程序拥有更多的灵活性和可扩展性。在本文中,我们将介绍Vue中如何使用表达式计算动态样式。一、Vue中的绑定Vue中有很多种绑定类型,其中包括属性绑定、类绑定、样式绑定等。其中,样式绑定提供了一种使用

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器