如果我们要比较两个数组是否包含的关系,过去我们一味的遍历每个数组的元素,时间复杂度大的。但是最近学数据结构的时候发现,harsh可以代替这也功能,看到网友的编程也是用这种方法的,今天试了试,哇塞,果真不错的。但是要领会其思想。好了 迫不及待了 我们来看代码啦:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1="ABCDFTYUGHJV";
string str2="DHUIO";
int harsh[26]={0};
int num=0;
for(int j=0; j<=str2.length()-1; j++)
{
int index=str2[j]-'A';
if(harsh[index]==0)
{
harsh[index]=1;
num++;
}
}
for(int k=0; k<=str1.length()-1; k++)
{
int index=str2[k]-'A';
if(harsh[index]==1)
{
harsh[index]=0;
num--;
if(num==0)
break;
}
}
if(num==0)
cout<<"true"<<endl;
else
cout<<"false"<<endl;
return 0;
}