java:求一個字串中子字串的個數,簡便演算法
自己想出來的演算法 感覺比較簡單易理解,分享給大家 Scanner ipt=new Scanner(System.in); //輸入長字串str1 String str1=ipt.nextLine(); //輸入子字串str2 String str2=ipt.nextLine(); //把長字串中的str2替換成空 String str3=str1.replace(str2, ""); //數目就是str1的長度減去替換後的長度str3 再除以子字串str2的長度 System.out.println((str1.length()-str3.length())/str2.length());
相關推薦
java:求一個字串中子字串的個數,簡便演算法
自己想出來的演算法 感覺比較簡單易理解,分享給大家 Scanner ipt=new Scanner(System.in); //輸入長字串str1 String str1
最新的微軟面試題,題目:求一個字串中連續出現次數最多的子串
題目:求一個字串中連續出現次數最多的子串, 請給出分析和程式碼。給出一個由小寫字母組成的串s和一個不超過s的長度的正整數l,求s所有長度不小於l的字串中在s中不重疊地重複出現次數最多的子串。只要輸出這個子串出現的次數就行了。 特別強調:子串不是子序列,必須是從s截出來連續的
Java:在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。
在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 package com.jredu.ch12; /** * 題目:在一個字串中找到第一個只出現一次的字元。如輸入abaccdeff,則輸出b。 * @author Administrator
Java實現求一個整數的二進位制數中1的個數
這題還是筆試的時候遇到的,當時沒有想太多,直接用了最為直接的移位相加的方法,雖然可以得出結果,但是程式效率低。 後來發現使用n=n&(n-1)的方法,效率會更高,先上程式碼。 <span
C語言練習題每練 1:字串統計單詞個數,單詞由空格隔開
空格隔開,所以空格是一個標誌性的符號,可以通過空格來統計單詞的個數。首先,分析一下所能遇到的各種情況。相鄰兩個字元組合情況為:空空;空字:字空;字字。特殊情況考慮有全空,全字,空空空字空空空。 因為要兼顧前後所以需要兩個變數來指示,p指示前一個初始為0,C指示
【程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列, //再將a[i][i]累加後輸出。
//【程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列, //再將a[i][i]累加後輸出。 public class TestAdd3App { /** * @param args
C++ 字串中子串個數
子串可重疊情況:int fun1(const std::string& str, const std::string& sub) { int num = 0; for (size_t
Java:根據位元組數擷取字串,但是漢字不能擷取半個。
擷取字串指定指定位元組數的內容,如果指定的位元組數在漢字的中間,漢字不能擷取部分,只擷取前面的內容。package com.lcx.test; import java.io.UnsupportedEncodingException; /** * *
Java:從99瓶子數到0,一個int、String變量、while循環、if條件測試
一個 -s png gpo clas pri 代碼實現 執行流程 while循環 一、程序執行流程圖: 二、代碼實現: one: public static void main(String[] args) { int beerNumber=99; Str
T28:求最小的K個數(利用快排)
題目:輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4, 利用快排:利用temp=a[0];然後從右到左找比temp小的數 ,從左往右尋找比temp大的數 指標l=0;指標r=a.length-1 直到l
Java:構造一個Person類,運用方法過載
public class Person{ String name; //字串 名字 int age; //int 年齡 private String secret="..."; //字串 祕密 int height
hjr-JAVA:構建一個大型專案
IDE使用idea,舉例一個springclould 微服務系統 基礎專案 包含後臺管理,前臺官網,h5系統,移動端(android/ios)介面 1.在git或svn新建一個空專案,下載到本地 2. 開啟idea,把空專案檢出,建一個pom,其中用
程式設計之美:求二進位制中1的個數
1.問題描述 實現一個函式,輸入一個無符號整數,輸出該數二進位制中的1的個數。例如把9表示成二進位制是1001,有2位是1,因此如果輸入9,該函式輸出2 2.分析與解法 解法1:利用十進位制和二進位制相互轉化的規則,依次除餘操作的結果是否為1 程式碼如下: int Count1(unsigned
分別在控制檯輸入字串和子字串,並計算字串中子字串出現的次數。
Scanner s=new Scanner(System.in); System.out.println("請輸入字串"); String t=s.next(); //System.out.println(t); System.out.println("請輸入子字串");
java 劍指offer 第一題:在一個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函式,輸入這樣的一個二維陣列和一個整數,判斷陣列中是否含有該整數。
我用了三種解法,全部都可以在牛客網上通過。 第一種解法是最簡單的,遍歷整個二維陣列找那個整數; 第二種和第三種都是根據二維陣列有序的特性進行查詢,第二種方法是從左下角開始查詢,大於左下角刪除一行,小於左下角刪除一列;第三種是從右上角開始查詢,大於右上角刪除一行,小於右上角的
Min_25篩初級應用:求$[1,n]$內質數個數
#include <bits/stdc++.h> #define rin(i,a,b) for(int i=(a);i<=(b);++i) #define irin(i,a,b) for(int i=(a);i>=(a);--i) #define trav(i,a) for(int i
Java:給定一個日期,輸出這個日期是該年的第幾天。
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; public class Main { public static
藍橋杯:求一個5位數的最大迴圈素數和 迴文素數
1193是個素數,對它迴圈移位後發現:1931,9311,3119也都是素數,這樣特徵的數叫:迴圈素數。 你能找出具有這樣特徵的5位數的迴圈素數嗎?當然,這樣的數字可能有很多,請寫出其中最大的一個。 #include<stdio.h> #include<
演算法題: 求一個整數陣列中,通過元素加減運算得到指定結果的所有運算過程. 例如【5,4,6,7,1】= 9 ?
題目: 給定一個整數陣列int[] a (a.length > 1),和一個整數值 m,試輸出所有運算結果等於m的運算過程。可使用的運算方式只有加法和減法。陣列元素最多參與一次運算。例如,給定陣列【5,4,6,7,1】和整數9,輸出運算結果為9的運算過程如下: +
藍橋杯:求一個5位數的最大迴圈素數
1193是個素數,對它迴圈移位後發現:1931,9311,3119也都是素數,這樣特徵的數叫:迴圈素數。 你能找出具有這樣特徵的5位數的迴圈素數嗎?當然,這樣的數字可能有很多,請寫出其中最大的一個。 注意:答案是個5位數,不要填寫任何多餘的內容。 #include<