100-89

89.神州数码、华为、东软笔试题
1.2005年11月15日华为软件研发笔试题。实现一单链表的逆转。
2.编码实现字符串转整型的函数(实现函数atoi的功能),据说是神州数码笔试题。如将字符
串 ”+123”123, ”-0123”-123, “123CS45”123, “123.45CS”123, “CS123.45”0
3.快速排序(东软喜欢考类似的算法填空题,又如堆排序的算法等)
4.删除字符串中的数字并压缩字符串。
如字符串”abc123de4fg56”处理后变为”abcdefg”。注意空间和效率。
(下面的算法只需要一次遍历,不需要开辟新空间,时间复杂度为O(N))
5.求两个串中的第一个最长子串(神州数码以前试题)。

如"abractyeyt","dgdsaeactyey"的最大子串为"actyet"。

 思路:

1.前面做过多次了,这里就不说了。。。

2.题目没太看清楚。如果只是将字符串转为整形,还是比较简单的,关键是还要注意多种情况。

3.快排之前也说过多次了。。。

4.

bool isChar(char *pChar){
	if(*pChar >= 'a' && *pChar <= 'z'){
		return true;
	}else{
		return false;
	}
}

int converse(char *index,int size){
	char *pBefore = index;
	char *pAfter = index;
	int i = 0;
	while(i++ < size){
		if(isChar(pBefore)){
			*pAfter++ = *pBefore++;
		}else{
			pBefore++;
		}
	}
	return pAfter-index;
}
5.

最简单的方法是遍历,时间复杂度O(n^3)?然后应该可以用后缀树。。。比较麻烦了。




你可能感兴趣的:(100-89)