尋找連續或不連續的子字串
//在s字串中找到t子字串,要求t的字元在s中可不連續存在。如:s="abc"、t="ac"|t="ab" 這兩個t都是s的子串。
//--->雙指標法
public boolean lookup(String s,String t){
/*
思路:index先指向t的第一位字元,如果在s中找到該字元,index就指向下一位。s的則繼續往下,一直到在s中找到t。
找不到就找不到...
*/
if(t.length() == 0) return true;
if(s.length()==0 && t.length() == 0) return true;
//t的指標
int index = 0;
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i)==t.charAt(index)) index++;
if(index == t.length()) return true;
}
return false;
}
//如果是找連續的子字串呢?
public static boolean lookup(String s,String t){
/*
思路:index先指向t的第一位字元,如果在s中找到該字元,index就指向下一位。s的則繼續往下,一直到在s中找到t。
找不到就找不到...
*/
//t的指標
if(t.length() == 0) return true;
if(s.length()==0 && t.length() == 0) return true;
int index = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == t.charAt(index)){
//因為0已經找到,所以下面從1開始
index = 1;
for (int j = index; j < t.length(); j++) {
//找得到就index++,找不到退出迴圈繼續找
if (t.charAt(index) == s.charAt(j+i)) index++;else break;
//如果index已經等於t.length(),就返回true
if(index == t.length()) return true;
}
//初始化,重頭開始找
index = 0;
}
}
return false;
}
相關文章
- 求字串連續字元數量字串字元
- 連續子陣列的最大和陣列
- 《劍指Offer》- 連續子陣列的最大和或最小和陣列
- hive生成連續的時間和連續的數Hive
- 最短無序連續子陣列陣列
- 查詢字串中連續出現的字元字串字元
- java_求列舉所有的連續(或單個字元)的子串.Java字元
- 最大連續子陣列和的實現陣列
- 31:字串中最長的連續出現的字元字串字元
- Maximum Subarray 連續子陣列最大和陣列
- HTTP非持續連線和持續連線HTTP
- 【劍指offer】連續子陣列的最大和陣列
- 目標檢測框不穩定不連續?
- 連續性方程
- 連續段DP
- JZ-030-連續子陣列的最大和陣列
- 牛客題霸--連續子陣列的最大和陣列
- 每日一練(22):連續子陣列的最大和陣列
- 尋找連通線,參考八後演算法遞迴,可用於驗證碼去除連續干擾線演算法遞迴
- mysql資料庫,讓不連續的id重新排序MySql資料庫排序
- leetcode最短無序連續子陣列LeetCode陣列
- 最大連續子陣列和(最大子段和)陣列
- 劍指 Offer 42.連續子陣列的最大和陣列
- 劍指Offer-連續子陣列中的最大和陣列
- 劍指office--31. 連續子陣列的最大和陣列
- 演算法學習-數字連續的子陣列演算法陣列
- 《字串連線你用+還是用StringBuilder》續字串UI
- 一道演算法題:求出異或和為零的最長連續子串演算法
- 7 函式的連續性函式
- Google面試題搜尋之星和最多連續數的子集答案Go面試題
- Google面試題 | 不包含連續1的非負整數Go面試題
- 如何識別字串中含有連續字元的處理辦法字串字元
- python去除字串的前導或後續Python字串
- 【leetcode】53. Maximum Subarray 連續子序列的最大和LeetCode
- 劍指offer-例題 連續子陣列的最大和陣列
- 連續順子間隔思路
- jdbc如何連續查詢?JDBC
- 8 連續函式的運算函式