摘要:
1. 最小的K个数 题目描述 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 思路 Java 中的PriorityQueue是一个基于优先级堆的无界优先级队列。优先级队列的元素按照其自然顺序进行排序,或者根据构造队列时提供的 阅读全文
摘要:
题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。 思路 这道题最简单的思路就是排序,然后统计每个数字出现的次数,这样时间复杂度是 阅读全文
摘要:
赶在新年之前,我面试了字节跳动广告部门的品牌广告后端研发工程师,并收获了实习offer,我想把实习面试的题目分享出来,供大家参考。 字节跳动还是依旧非常注重算法能力,所以面试过程算法比重依旧比较大,不知道是不是年前比较缺人的原因,这次面试一共经历了两面,而且难度比我去年面试抖音略简单一下,下面是面试 阅读全文
摘要:
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 思路 因为是二叉搜索树,所以中序遍历就是有序的,这里采用非递归中序遍历,并通过前驱指针pre,进行转换。 代码 阅读全文