題目來源
題目描述
現有一個小寫英文字母組成的字符串s和一個包含較短小寫英文字符串的數組p,請設計一個高效算法,對於p中的每一個較短字符串,判斷其是否爲s的子串。
給定一個string數組p和它的大小n,同時給定string s,爲母串,請返回一個bool數組,每個元素代表p中的對應字符串是否爲s的子串。保證p中的串長度小於等於8,且p中的串的個數小於等於500,同時保證s的長度小於等於1000。
解題思路
利用集合的contains方法進行判斷,創建新的boolean數組用來存放結果。題目表達的意思就是一個字符串數組p中每一個元素是否是字符串s的子串,將字符串數組p中每個元素遍歷判斷的結果true或者false組成數組返回。
題目解答
import java.util.*;
public class Substr {
public boolean[] chkSubStr(String[] p, int n, String s) {
boolean[] hasSub=new boolean[p.length];
for(int i=0;i<p.length;i++){
hasSub[i]=s.contains(p[i]);
}
return hasSub;
}
}