1.若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行 concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2)))
注意:substr(S,i,j)是对字符串S的下标为i开始取j个字符,这里的下标是从0开始的(单选) B
A.ABC###G2345
B.ABCD###1234
C.ABC###G0123
D.ABCD###2345
解析: B、substr(S1,length(S2),length(S3))即substr(S1,4,3)),从下标4开始取s1三个字符,即EFG,replace(S1,substr(S1,length(S2),length(S3)),S3)即replace(S1,‘EFG’,’###‘),故结果为’ABCD###‘,而,substr(S4,index(S2,‘8’),length(S2))即,substr(S4,1,4)(其中index(S2,‘8’)指的是找s2中第一个’8‘的下标),故为’1234‘。故最后结果为ABCD###1234
substr(S1,length(S2),length(S3))namely substr(S1,4,3)),from the subscript 4 to take three character of S1,namely EFG,replace(S1,substr(S1,length(S2),length(S3)),S3)namely replace(S1,‘EFG’,’###‘),the result is’ABCD###‘,and substr(S4,index(S2,‘8’),length(S2))namely substr(S4,1,4)(Note index(S2,‘8’) means finding the first 8’s subscript in S2),so the result is’1234‘。The final result is ABCD###1234.
2.若字符串s=“software”,则其子串个数为:37
解释:空串和自身各1个,长为1的8个,长为2的7个,…,长为7的2个。2+8+7+6+5+4+3+2=37
3.若字符串s=”algorithm”,则其子串个数为:46
解释:空串和自身各1个,长为1的9个,长为2的8个,…,长为8的2个。2+9+8+7+6+5+4+3+2=46
3.上一题中的字符串"BAAABBBAA",与目标"BAAABBBCDDDCCHHHHBBBAAABBBAADD"进行匹配,至少需要多少次字符匹配(提示:利用优化后的Next数组):31