在线笔试:
关于能力和编程的多项选择题 2 编码问题。
F2F R1
1) 给定一个任意长度的字符串。打印字符串长度 k 的所有可能组合
提示使用递归
2)给定一个矩阵,按螺旋顺序打印。
3) 验证给定的树是否是 BST。
已经按照方法 3 解决了 https://www.geeksforgeeks.org/a-program-to-check-if-a-binary-tree-is-bst-or-not/
然后他自己从同一个链接中口头介绍了方法 1,并要求我为相同的方法编写代码并找出该方法的问题所在。
F2F R2
1) 给定一个节点,使得
Node x {
boolean ifFile;
int[] children;
}
必须打印从根到文件的所有路径。如果没有文件,则不打印任何内容。
注意:这不是树或图。
结构类似于 windows 文件系统,层次结构可以是任意长的。所以递归会导致栈溢出。不用递归解决
2) 给定一个排序数组,其中一个数字具有任意数量的重复项
例如 [1,2,3,4,4,4,5,6]
找到重复元素的第一个出现的索引。
所以对于上面的例子,你的函数应该返回 3。
提示:使用二分查找
3) 到达终点的最少跳跃次数
给定一个整数数组,其中每个元素表示可以从该元素向前进行的最大步数。
编写一个函数,返回到达数组末尾(从第一个元素开始)的最少跳转次数。
如果元素为 0,则无法通过该元素。
例子:
输入:arr[] = {1, 3, 5, 8, 9, 2, 6, 7, 6, 8, 9}
输出:3(1-> 3 -> 8 -> 9)
F2F R3
讨论了简历和所从事的项目。
1) 给定一个二进制流,说明该数在任何时间点是否能被 3 整除
讨论了 2-3 种方法。
2) 讨论了实现字典的各种方法。
3)给定一个集合打印所有可能的子集。
F2F R4(导演轮,最后一轮)
还讨论了我的工作项目和大学项目。
讨论了阵列旋转问题的各种方法和复杂性。