多組測試數(shù)據(jù),每一組隊兩個字符串s和t。讓你判斷s是否為t的子序列。字符串長度100,000。這個時間復(fù)雜度肯定是O(n)了。
#include<iostream>#include<string.h>#include<stdio.h>#define N 100500using namespace std;char s[N]={0};char t[N]={0};void ceshi(){ for(int i=0;i<strlen(s);i++) { cout<<s[i]; } for(int i=0;i<strlen(t);i++) { cout<<t[i]; }}int main(){ while(scanf("%s %s",s,t)!=EOF) { //ceshi(); int x=strlen(s); int y=strlen(t); int i=0,j=0;//i指s,j指t while(1) { if(s[i]==t[j]) { i++; } j++; if(i>=x) { PRintf("Yes/n"); break; } if(j>=y) { printf("No/n"); break; } } }}注意:strlen是每一次都要重新遍歷一遍數(shù)組
新聞熱點
疑難解答