腾讯捞起来鞭尸后台实习面经

一上来就写题,问了一个第一个算法题:
1.给一个长度为偶数n的序列中,前n/2个元素里面的最大值小于等于后n/2个元素里的最小值,称为“几乎有序”,可以对序列交换任意多次,两个不同的需要i,j交换每次的代价是i-j的绝对值。求将给定序列,转化为几乎有序序列的最小代价。
嗯不太会。面试官提醒了一下,说求中位数然后比较。类似快排
嗯写了10分钟没写出来。面试官说换一个吧那
2。
Ri:代表第i行的和
Ci:代表第i列的和
Zi:代表主对角线的和
Fi:代表副对角线的和
给一个n*n的矩阵,允许交换两个数的位置,返回上述4个参数和的最大值。
嗯,还是不太会。面试官:你本科软件工程的这么基础的题都不会?
我:嗯这题比我想象中的基础多了。
面试官:你有什么要问我的么?

然后。。。没有然后了
#腾讯后台实习面经##腾讯##Java工程师##实习##面经#
全部评论
老哥太惨了😂
1 回复 分享
发布于 2020-06-18 16:42
哈哈哈
1 回复 分享
发布于 2020-06-18 16:49
太惨了
点赞 回复 分享
发布于 2020-06-18 18:01
😔😔😔😔
点赞 回复 分享
发布于 2020-06-18 18:25
第二题看起来像是个排序题,四个角放最大的四个值,主副对角线交叉的地方(如果有的话)放第五大的值,剩下的就是加法运算了,,反正感觉就是加法运算
点赞 回复 分享
发布于 2020-06-18 18:32
我本科也是软件工程的,我也不会,太菜了。
点赞 回复 分享
发布于 2020-06-18 22:45
woc,这是啥题哟
点赞 回复 分享
发布于 2020-06-19 21:53
16号被tx捞起来鞭尸,但没有这么难的手撕代码哈哈
点赞 回复 分享
发布于 2020-06-20 18:45
第一个题是不是可以理解为:找中位数。我的想法是:二分法找到n个数的中位数m,(题目里的i,j我理解为下标),对于前n/2个数,记录其中数值>m的下标和sum1,后n/2个数,记录其中数值<=m的下标和sum2,然后sum2-sum1就是所求值了。 tip:之所以=m的数放在后n/2个数中计算,是因为n个数的中位数在排序后位置在n/2,是前n/2个数的最后一个数,所以=m的数应该在前n/2个数中。 不知道想得对不对,如果有什么想法或疑问,欢迎交流~😝
点赞 回复 分享
发布于 2020-06-21 13:31
楼主您好,我没有看懂第二个题的意思。请问是说可以交换矩阵内的排列,然后求四个参数最大值吗?我的想法是一共有1,4,6个交点三种可能,然后n*n个数据排序,对应找出前4n-3,4n-5,4n-6个最大值求和再补齐为4n个数,求最大值,再比较三者中的最大值。不知道我是否理解了您的题意?已经有解决算法了吗
点赞 回复 分享
发布于 2020-08-14 11:07

相关推荐

蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
5 12 评论
分享
牛客网
牛客企业服务