2011 IT公司笔试面试题目整理

1.2011.8.15微软实习电面

(1)把一个字符串中的所有abc替换为a。要求时间复杂度O(n)。

#include
#include
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指向常量字符串,则不能对字符串进行修改。

详细解释见:http://blog.sina.com.cn/s/blog_707a4cbf0100rxut.html和http://blog.csdn.net/cqcmdwym/article/details/1335614

(2)如何测试网页搜索

这个就要考察自己的思考和表达能力了。

比如关键字匹配,搜索内容的排序,还有中英文问题等。这里有个测试搜索引擎的http://blog.sina.com.cn/s/blog_5d7ae9750100bf6g.html

你可能感兴趣的:(2011 IT公司笔试面试题目整理)