1.2011.8.15微软实习电面
(1)把一个字符串中的所有abc替换为a。要求时间复杂度O(n)。
#include <stdlib.h>
#include <string.h> int main() { char a[] = "ddabc7abcabcccc";//不能是char *p=“ddabc7abcabcccc” char *p=a; char *pflag=NULL;//记录当前p只要的内容要移动到的位置 printf("%d\n",strlen(a)); printf("%d\n",sizeof(a)); printf("%c\n",*(p+12)); while(*p != '\0') { if(*p=='a'&& *(p+1)=='b'&& *(p+2) =='c') { if(!pflag) { pflag = p+1; } else { *pflag='a'; } p = p+3; } else { if(pflag) { *pflag=*p; p++; pflag++; } else { p++; } } } *pflag='\0';//最后字符串一定要加字符串结束符'\0' printf("%s\n",a); system("PAUSE"); }注:开始定义字符串是要使用char a[]而不是char *a。因为若char *a指向常量字符串,则不能对字符串进行修改。
详细解释见:和
(2)如何测试网页搜索
这个就要考察自己的思考和表达能力了。
比如关键字匹配,搜索内容的排序,还有中英文问题等。这里有个测试搜索引擎的