>> 2);
return (result[0] && result[1]) 1 : 0;
}
int _isAnagramOrNot(const char* str, int start, int end, int length)
{
int index;
char symbol;
for(index = 0; index < length; index ++){
if(str[start + index] != str[end -1 - index])
return 0;
symbol = str[start + index];
if(symbol >= 'a' && symbol <= 'z' ||
symbol >= 'A' && symbol <= 'Z')
continue;
return 0;
}
return 1;
}
int isAnagramOrNot(const char* str, int length)
{
int index;
int start[2];
int end[2];
int result[2] = {0};
if(NULL == str || 0 == length)
return 0;
start[0] = 0;
start[1] = length >> 2;
end[0] = length;
end[1] = length - (length >>2);
#pragma omp parallel for
for(index = 0; index < 2; index ++)
result[index] = _isAnagramOrNot(str, start[index], end[index], length >> 2);
return (result[0] && result[1]) 1 : 0;
}
总结:
(1)从上面的题目可以看出,即使很简单的题目,也可以考察应聘者的总和能力
(2)提高算法执行效率的途径很多,朋友们平时课可以多多留意、多多积累
(3)所有算法的执行都是以正确性和健壮性为前提的,必须建立在充分测试的基础之上