字节 广告 一面

1. 自我介绍
2. GDBT和RF的区别
3. 什么是多重共线性
4. RF自己的feature importance怎么算的(没答上来,呜呜,去面壁)
6. 写快排 + 为什么随机选分割点
7. 一个 自然数数组,数组里连续相邻的数都减一算一次操作,问最少多少次操作能把所有数减到0。比如【1 2 3 0 8 7 2】 -》【0 1 2 0 8 7 2】-》【0 0 1 0 8 7 2】-》【0 0 0 0 8 7 2】-》【0 0 0 0 7 6 1】-》【0 0 0 0 6 5 0】-》【0 0 0 0 5 4 0】-》【0 0 0 0 4 3 0】-》【0 0 0 0 3 2 0】-》【0 0 0 0 2 1 0】-》【0 0 0 0 1 0 0】-》【0 0 0 0 0 0 0】 共11次操作。
完全没做过这题或类似题,直接模拟的上面过程,然而还没写对,哭哭哭+1
面试官最后说其实不用这样,直接差分数组,没懂,有同学告诉我,就是这样
  • 比如这个【1 2 3 0 8 7 2】
  • 把0两边的差分【0 1 2 0 8 -1 -5】
  • 把整数都加起来就等于11
这是什么原理?好神奇,蹲一个大佬给讲讲
#字节跳动实习##面经##字节跳动##实习#
全部评论
菜菜回答一波,这题解法有点妙呀。 我们可以这样理解,对于数组A, 我们从左向右依此消掉第i 个数, 1. 如果A[i] <= A[i-1], 可以发现在消去A[i-1] 时, A[i] 可以被消去, 即不增加操作次数 2. 如果 A[i] > A[i-1], 可以发现当前已发生操作可以消去A[i-1], 那么A[i]也可以被消去一部分A[i-1], 则为了消去A[i], 需要增加A[i] - A[i-1] 次操作 可以证明该算法拥有全局最优解,
3 回复 分享
发布于 2022-04-27 01:18
噗嗤,自己顶一下,好像不太对 比如把最开始的1 2 3换成 3 2 1,就不对了
点赞 回复 分享
发布于 2022-04-26 21:08

相关推荐

10-11 18:07
已编辑
华中科技大学 Java
点赞 评论 收藏
分享
评论
点赞
4
分享
牛客网
牛客企业服务