微软2018预科生c++后台实习面经
4月初投的简历,到四月底拿到offer共一个月,但面试集中在一天。全是算法题。
面试方式:Skype视频面试,每面45分钟
面试形式:共三轮技术面试,全是算法题
一面:
1.给一个m行,n列的表格,有些格子有水,用w表示,其他格子是陆地,用‘.’表示,求出表格中有多少个水域。注:水域:w的四周的8个节点如果有w的话算同一个水域。
w | w |
w | w |
上表就算一个水域。
2.有一排商铺,商铺中都有钱,强盗不能抢劫相邻的商铺,问如何抢劫能保证钱最多?(动态规划)
二面:
有一个m*n的滑雪场,每个滑雪场格子的海拔高度不同,只能由高向低滑,且只能上下左右四个方向滑,问一个人滑雪的最大长度是多少?注:每滑一个格子长度+1.
三面:
1.找出单向链表中的中间节点,时间复杂度要求为O(n)。
注意点:
1.快慢指针
2.要考虑链表长度的奇偶。
3.边界条件
2.找到单向链表的中间节点,并删除该节点。
注意点:边界条件
1.如果只要一个节点,返回为null
2.如果删除节点为头节点,如何返回。
posted on 2018-04-28 14:38 sichenzhao 阅读(157) 评论(0) 编辑 收藏 举报