8.31顺丰秋招算法工程师笔试题求解

麻了,以前都是这么难得题吗,这尼玛。。。就只能得个十几分一共,有没有大佬能帮忙写个题解呢?选择题也是不当人。

1. 猜排列游戏
有一个1到n整数组成的排列,现在来猜这个排列是什么,每次可以猜某一位置的数字,得到的反馈是“大了”,“小了”或者“正确”。求最坏的情况下需要猜测几次,才能在所有位置得到“正确”?

输入一个整数n
输出最坏情况下的猜测次数

例:
输入:
5
输出:
11

2. 圣诞树
圣诞树由n个节点组成,每个节点上为一个整数(可为负数),节点从1到n编号。每次操作需选择一个包含1号节点的子图,并将子图中所有节点的值+1或者-1,请问至少需要操作多少次,才能让所有节点的值都是0?

输入包含三行
第一行是节点个数n
第二行是n-1个数据表示节点(i = 2, 3, 4 ...)的父亲节点
第三行是n个数据表示(i = 1, 2, 3, ...)节点的初始值

输出最少操作次数

例:
输入:
3
1 1
1 -1 1

输出:
3

#顺丰##笔试算法题##算法题##求助##算法题目求助#
全部评论
第一题应该是对枚举每个i,求log2。 因为最坏的情况应该是1/n这种最难被二分到的在首部,n/2这种容易被二分到的在尾部。 第二题直接摆了……图的完全不会直接进行一个re的turn
2 回复 分享
发布于 2022-08-31 20:55 湖北
第一题搜每位我用的二分,然后过了80多,超时了,这两题感觉都挺麻烦的
点赞 回复 分享
发布于 2022-08-31 20:51 江苏
第一题:类似折半查找顺序表中每个元素的成功查找次数总和,先找到节点数≤n的最大的满二叉树,高度为floor(log2(n)),然后最后一层的节点数为n-满二叉树的节点数。构造二分查找树,然后求每个节点查找成功的查找次数,相加。 #include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){   ll n, res = 0;   cin>>n;   ll height = floor(log2(n));   ll leaves = n - ll(pow(2, height) - 1);   for(int i = 1; i <= height; ++i){     res += ll(pow(2, i - 1)) * i;   }   res += leaves * (height + 1);   cout<<res<<endl;   return 0; } 第二题:B - Zero Tree原题。
1 回复 分享
发布于 2022-08-31 21:06 江苏
第1题我都没读懂。。。为什么是11次啊,都没有样例解释。而且第二道做的不一样
点赞 回复 分享
发布于 2022-08-31 20:53 北京
第一题a了,第二题不会。     public static long find(int n) {         long ans = 0, num = 1, i = 2;         while (i <= n) {             if (i * 2 <= n) {                 ans += (i * num++);                 i *= 2;             } else {                 ans += ((n - i + 1) * num);                 break;             }         }         return ans + n;     }
1 回复 分享
发布于 2022-08-31 20:58 重庆
第一题直接输出11能过38%
点赞 回复 分享
发布于 2022-08-31 21:02 安徽

相关推荐

码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
评论
3
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务