您的位置:首页 > 其它

2015-08-11 [豌豆荚]--研发--2面

2015-08-14 21:39 288 查看
时间:2015-08-14 14:00 ~ 15:00

地点:北京市海淀区西小口路66号东升科技园B-2楼三层

1. 问简历

。。。

2. 算法题:求最小的第K个数

int get_kth_small(int A[], int size, int K)
{
int B[K + 1];

memcpy(B, A, K * sizeof(int));
std::sort(B, B + K);
B[K] = B[K - 1] + 1;

for (int i = K; i < size; i++) {
for (int j = K - 1; j >= 0; j--) {
if (B[j] > A[i]) {
B[j + 1] = B[j];
} else {
B[j + 1] = A[i];
break;
}
}
}

return B[K - 1];
}


3. 算法题:求树的高度。该树是存在数组中的,A[0]=2, 表示第0个节点的上一个节点为2,根节点的上一个节点表示为-1。

例如:

3

0 4

1 2

表示为:

01234
344-13
代码:

// Calculate the B[index]
void run_recursively(int A[], int B[], int index)
{
const int pre_index = A[index];

if (B[index] == -1) {
if (pre_index == -1)
B[index] = 1;
else {
run_recursively(A, B, pre_index);
B[index] = B[pre_index] + 1;
}
}
}

int get_height(int A[], int size)
{
int ans = 0;
int B[size];

for (int i = 0; i < size; i++)
B[i] = -1;

for (int i = 0; i < size; i++) {
if (B[i] == -1)
run_recursively(A, B, i);
ans = ans > B[i] ? ans : B[i];
}

return ans;
}


4. 总结

面试官感觉不如1面的年纪大。而且面试官是java方向的后台研发。比较尴尬。面试官问的算法题难度中等。面完问hr,是实习还是校招面试,hr说都有可能。看样子,面试好就直接给校招offer了,其次就是实习offer了,最后就是感谢信了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: