编程与数据结构算法
快速排序的原理是什么?如果不用递归的话怎么实现?手撕排序代码(快速排序)。 「百度、腾讯」
原题手写快速排序代码(原地排序),并分析时间复杂度。 「字节Seed、字节跳动、百度、美团、腾讯、阿里巴巴」
原题【Top-K】Top-K问题:从1亿个数中找出前10大的数;手写Top-K检索算法,实现向量库快速筛选,适配RAG召回场景;分片聚合,再做二阶段Top-K。 「字节跳动、腾讯、阿里通义」
原题【Top-K问题】手撕:找出数组中最小的K个数,并按顺序返回。 变体1:使用最小堆实现。 变体2:给定候选商品列表,根据用户偏好做TopK筛选,要求时间复杂度低于O(N log N)。 「字节跳动、美团」
原题【三路排序】手撕三路排序。 「百度」
原题“三路排序”未明确指三种值分类,还是按枢轴划分为小于、等于和大于。
【两个有序数组中位数】手撕题:两个有序数组中位数,要求时间复杂度O(log(m+n))。 「字节跳动」
原题【中位数】手撕:无序数组中位数。 「腾讯」
原题【中间K个值】手撕:给定一个随机数组,要求输出排序在中间的K个值。例如给定随机数组arr=[9,3,7,1,4],当K=3时返回结果[3,7,4]或[3,4,7];当K=1时返回结果[4]。给定的数组arr长度与K均为奇数。 「阿里巴巴」
原题【二分查找】手撕二分查找代码,注意边界问题;二分查找变体:类似于插入位置问题,输入是json格式;二分查找的时间复杂度是多少? 「字节跳动、百度、美团、腾讯」
原题【众数】找出有序数组中所有出现次数严格大于n/3的数字,要求时间复杂度低于O(n)。 「字节跳动」
原题本条为有序数组版本,且要求低于线性时间。
暂无题目