Google面试
Google实习生面试
Google面试经验(针对软件工程实习生)
记住那不是我的采访,但是我喜欢解决它。
我有机会参加诸如EA之类的大公司的设计问题或分析。
第一轮:编码样本
在此编码示例中,我有90分钟的时间回答2个编码问题。
问题1
给定一个由n个字符组成的字符串A和由m个字符组成的字符串B,编写一个函数,该函数将返回必须声明的次数A,以使B是重复的A的子字符串。如果B永远不能是子字符串,返回-1。
例:
A ='abcd'
B ='cdabcdab'该函数应该返回3,因为在声明A 3次后,得到'abcdabcdabcd',B现在是A的子字符串。
您可以假设n和m是[1,1000]范围内的整数。
问题2
考虑一个具有N个节点(从1到N)的无向树。每个节点都有一个与之关联的标签,它是一个整数值。 不同的节点可以具有相同的标签。 编写一个函数,给定长度为N的零索引数组A,其中A [j]是树中第(j +1)个节点的标签值,长度为K =(N的零索引数组E – 1)* 2(其中描述了树的边缘)返回最长路径的长度,以使该路径上的所有节点都具有相同的标签。 长