首页 > 京东 秋招 0816 大后端笔试(Golang方向)
头像
Orchid7
发布于 08-16 21:00 广东
+ 关注

京东 秋招 0816 大后端笔试(Golang方向)

30个选择题(60分) + 2个编程题(40分)

选的 Golang 的笔试题,主要就是数据结构 + golang 语法 + 其他,总体不难,能吐槽的点就是给的示例代码没有任何缩进

编程题两个大概力扣 Mid 难度的题

编程题:

1. 选定区间[L, R]使得该区间内所有数 + 1,求能够减少的最大逆序对的数量

解法:由于[L, R]区间内 + 1 对逆序对没有影响,且可能导致如果[R+1, n]区间内的逆序对数量增加,因此最优区间的 R 一定等于 n;故只需要考虑[0, L-1]这个区间,逆序对减少的数量。所以只要用两个哈希表记录一下当前下标 i 左边和右边每个数出现的次数,计算如果选择[i, n]这个区间能够减少的最大的逆序对数量 = r[a[i] + 1] - l[a[i] - 1],更新答案即可

2. 求固定长度m区间内去掉一个最大值和最小值外的最大和的区间的编号

解法:维护一个最大堆和最小堆,采用延迟删的思想,并用一个固定长度为 m 的滑动窗口,当一个数滑出窗口时用一个哈希表记录下,每次从堆中取数的时候判断当前取的是否被删除,如果删除了就pop后再取一个直到取到没有被删除的数为止

全部评论

(2) 回帖
加载中...
话题 回帖

近期热帖

热门推荐