📜  微软TechSetGo暑期实习面试体验

📅  最后修改于: 2021-04-21 20:58:59             🧑  作者: Mango

第一回合组飞
大约100名学生参加了本轮比赛,另有20名学生参加了下一轮比赛。选择是基于时间和空间的复杂性

问题1:给定一个双链表,您要赋予函数Ispalindrome(头,尾),然后打印该链表是否为回文。链表的数据为整数。

输入1:12-> 11-> 21
输出1:-是
说明:121121这是回文

输入2:12-> -5-> 21
输出2:否
说明:12-521将-(减号)视为连字符

输入3:12-> -5-> -21
输出3:是
说明:12-5-21考虑-(减号)为连字符

问题2:给定一个整数值数组,您必须输出一个由索引组成的数组,其中左值的总和等于右值的总和。基于函数的问题function_name(inputarray []),您必须打印输出数组。

输入1:inputarray = [-5、5,-5]

输出1:[0、1、2]

第0个索引的说明,即inputarray [0] = -5
剩余元素的总和为5 +(-5)= 0
而且右边没有元素,因此对于1和2索引,右边元素的总和也为0

输入2:inputarray = [1、2、3]

输出:[ ]

说明没有这样的索引

第二轮技术面试
这轮比赛大约有20名学生参加。 10名学生清除了它

问题1
给定一个字符串,您必须排除所有元音并确定该字符串是否为回文。通过不使用额外的空间和最小的时间复杂度来解决它。
函数(输入字符串)

输入1:inputstring = Vishavjeet
输出1:否
从输入字符串中删除所有元音的说明将变为Vshvjt,而不是回文

输入2:inputstring = NamaN
输出2:是
从输入字符串中删除所有元音的说明变为NmN,并且是回文

问题2
函数(inputarray [],k)
给定一个整数值和整数k的输入数组,您必须输出一个包含k个值中最小值的数组。
最小时间复杂度(O(n))
输入1:inputarray = [2、1,-3、2,-4]
输出:[-3,-3,-4]
在前k个元素(即2、1,-3 -3)中的解释最小,在接下来的k个元素(即1,-3、2 -3)中最小,在接下来的k个元素(即-3、2,-4)中的解释最小
最低-4

问题3
我忘了它是基于Kadane的算法

第三回合技术面试
要求4-5名学生进入决赛

问题1:
函数(根)
给定一棵树,您必须按顺序打印该树,而无需递归。

第四回合最后一回合
我没有被要求参加本轮比赛,但经验值得分享。