微软电话面试总结
---主要是如何答考试题---
微软电话面试中不可缺少的部分,就是让你在一段时间内让你写代码,面试时考官给你邮箱地址,并把考试题发到你的邮箱里。应该如何答题,如果我的意见有问题请大家一起探讨。
1.你的电脑上必须有编译环境,并能做调试你写的代码。
2.接到考试题以后,先搞清楚问题,然后分析解决问题的思路。
3.如果在一定的时间内未能完成答题,就面试结束之后,抓紧时间,把正确的答案给考官。这点是不是很明知的选择请大家评论。
我接到的题目是:
有整形数组 {1,1,2,3,3,5} ,去掉重复数结果是{1,2,3,5}并返回个数4。
思路大家自己想想
int compact(int
*p,int size)
{
int i,j;
int count = 1;
if(p == NULL) return -1;
if(size <= 0) return 0;
if(size == 1) return 1;
for(i = 1; i < size - 1;i++)
{
if(*(p + i) == *p) continue;
for(j = i+1;j<size;j++)
{
if(*(p+i) == *(p+j))
*(p+j) =
*p;
}
}
for(i = 1; i < size;i++)
{
if(*(p+i) != *p)
*(p+count++)=*(p+i);
}
return count;
}