一、問題背景
博主於2020年4月7日參加了騰訊Android安卓第一次面試,以下爲面試官當場讓博主在30分鐘內必須實現的編程代碼題目。
二、2020年4月7日騰訊Android安卓第一次面試
以下爲騰訊面試官當場讓博主在30分鐘內必須實現的編程代碼題目:
題目1:合併兩個從小到大鏈表的鏈表,使用的算法越快越好。比如:L1={1,3,5}, L2={2,4}, L1.merge(L2)後,L1={1,2,3,4,5}, L2={}
public class Problem1 {
public static class LinkNode {
int val;
LinkNode next;
private void merge(LinkNode node) {
// TODO 請完成實現部分
}
}
}
題目2:給定一個遞增循環整數數組,從裏面找出最小的元素,使用的算法越快越好。特別地,最小的元素可能出現在數組中間。比如:50, 52, 63, 90, 3, 8, 15, 44,49
public class Problem2 {
private static int findmin(int[] array) {
// TODO 請完成實現部分
}
}
題目3:在二叉排序樹上面找出第3大的節點。注意:不能把二叉樹全量存儲到另外的存儲空間,比如存儲到數組中,然後取出數組的第三個元素。
public class Problem3 {
public static class TreeNode {
int value;
TreeNode left, right;
};
private static TreeNode find(TreeNode root) {
// TODO 請完成實現部分
}
}