2つの文字列S1とS2が与えられた場合、S = S1-S2は、S1からS2のすべての文字を取得した後の残りの文字列として定義されます。任意の文字列のS1-S2をできるだけ速く計算する方法は?
例えば :
入力:
彼らは学生です。
aeiou
出力:
あなたの標準。
私はハッシュマップを試しました、sadlly裁判官はそれが遅すぎると言いました、しかしどんな解決策もより速くすることができますか?
これが私のコードです:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
bool occur[300]={false};
int main()
{
char str1[10002];
gets(str1);
char ch;
while((ch=getchar())!='\n')
occur[ch]=true;
int i;
for(i=0;i<strlen(str1);i++)
if(occur[str1[i]])
continue;
else
putchar(str1[i]);
putchar('\n');
return 0;
}