360公司 2020测试类笔试卷 100%AC

1. 智力题

20题,30min,包括逻辑、找规律、简单计算(方程组求解、概率)等

2. 客观题

40题,1h,包括Java、C++、Web开发、Android开发、计算机专业基础等相关选择题

3. 编程题

2题,1h,代码量都不多,主要考察思维

3.1 计算数学期望

某厂加班发加班工资,连续加班i天则发i元工资,已经小A每天有以下几种可能,不加班(对应编号为0),加班(对应为1),50%可能加班50%可能不加班(对应为2),求计算其工作n天后得到的加班工资其数学期望(取整)
数据范围: 1<=n<=1e5
input:
3
1 2 1
output:
4
参考代码如下(C/C++):
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
class Solution {
    int n;
    ll judge() {
        cin >> n;
        double ans = 0; // 总的期望加班奖金
        double e = 0; // 今天的期望加班奖金
        for (int i = 0; i < n; ++i) {
            int status;
            cin >> status;
            if (status == 0) {
                e = 0;
            } else if(status == 1) {
                ++e;
            } else {
                e = (e + 1) * 0.5;
            }
            ans += e;
        }
        return ll(ans);
    }

public:
    Solution() {
        cout << judge() << endl;
    }
};
int main() {
    Solution solution = Solution();
    return 0;
}

3.2 可能算思维?

转换成数学语言为:已知a, b, c均为正整数,给定正整数n,求满足 (a - 2) * (b - 1) * (c - 2) = n 的约束下,a * b * c - n 的最大值
显然,a = 3, b = n + 1, c = 3时,a * b * c - n 的值最大(其实是不会证)
其他坑点:数据爆int
#360笔试##360公司##笔试题目##测试开发工程师#
全部评论
对第二题,我尝试给出一种还说得通的证明。 目标:最大化R*C*L - n; 约束:(R-2)*(C-1)(L-2) = n 这里先将约束的等式稍微修改下: = (R-2)*(C-1)*(L-2) = (R-2)*(C-2+1)*(L-2) 拆开后为 = (R-2)*(C-2)*(L-2) + (R-2)*(L-2) = n 第一部分的最大化问题与R*C*L的最大化问题等价(应该很容易理解,无需证明了) 求解R、C、L使得 max R*C*L (这其实就是目标,也等价于max R*C*L - n) 等价于max (R-2)*(C-2)*(L-2) 有前面拆分可知, (R-2)*(C-2)*(L-2) = n - (R-2)(L-2) 所以,如何让该式子最大化,即最小化 (R-2)(L-2) 最小为1,此时R=3, L=3 后面估计就不用讲了。
1 回复 分享
发布于 2020-03-28 09:29
能否对第一题多给出几个测例
点赞 回复 分享
发布于 2020-03-28 10:22
这一步是什么意思,不应该是最后的结果再乘以概率的和为多少
点赞 回复 分享
发布于 2020-03-28 00:21
太强了,大佬
点赞 回复 分享
发布于 2020-03-28 00:08
老哥,你第二题ac了吗?我就是用这个公式做的,怎么是91%呀?
点赞 回复 分享
发布于 2020-03-27 22:23

相关推荐

bg:双非本,一段中小厂6个月测开实习今天发这个帖子主要是想聊一聊我秋招以来的一个发展我是在8月底辞职,打算秋招,可是看网上都说金九银十就想着自己就是一个普通本科生,现在九月份都是一些大神在争抢,所以9月份基本上没投,等到了10月份才开始秋招,可是这个时间好像已经有些晚了,今年秋招开启的格外早,提前到了7,8月份,我十月才开始,官网投了很多公司,没有任何一个面试机会,这个情况一直到了十月底才有了第一个面试,当时没有面试经验,所以不出意外的挂了后续就是漫长的投递,但是毫无例外没有面试,没有办法我只能另辟蹊径开始在BOSS上边投递,然后顺便也根据BOSS上边这个公司名称去浏览器搜索看看有没有官网投递渠道,毕竟官网上投递后还是可以第一时间被HR看到的,然后一直不停投递,一开始第一个星期基本上都是投的正式秋招岗位到了第二个星期才开始实习和正式一起投,到十一月底的时候已经沟通了700➕才有一共1个正式的,5个要提前实习的,3个实习的面试,最后结果是过了1个要提前实习的和2个实习的每次面试我都会复盘,发现这些小公司面试官问的五花八门,有的专问基础,有的专问项目,有的啥都问,不过自己也是看出来了一下门道,就是小公司不像大公司面试官那样能力比较强基本上你简历上边的他都会,然后会根据简历来问,小公司面试官他们更多的是看自己会什么,然后看看你简历上边哪些他也是会的然后来问,经过不断的复盘加上背各种各样面试题,到了11月底12月初才有了1个要提前实习的offer还有2个实习的offer,而且薪资待遇对我来说已经很可观了可是啊,人总是这样得了千钱想万钱,我又开始不满现状,但是此时的我面试能力经过这么多面试和复盘已经很强了,然后在十二月份运气爆棚,被极兔和小鹏补录捞起来面试,还有个百度测开的实习面试,这个时候因为有了offer所以感觉有了底气,面试也很自信,最后结果是全部都过了那个时候我感觉自己真的很厉害,我问了极兔那边的HR像我这样的双非本收到offer的在极兔有多少?他告诉我产研岗90%都是硕士,10%里边基本上都是211,985,想我这样的很少很少,那一刻感觉自己超级牛逼,小鹏就更不用说了,最后也是不出意外选择了小鹏所以我就我个人经历想对和我学历履历差不多的牛友一些建议第一:秋招一定要趁早,真到了9,10月,那个时候可能你投的结果可能还不如7,8,11月,第二:最好先拿小公司实习或者正式练练手,提升一下面试能力,我个人觉得因为小公司问的五花八门所以你会更加横向去提升自己能力,而且大公司其实面试没有那么难,除了一些非常卷的岗位,公司大神比较多会问的很难,一般好点的公司都不会问的那么难,他们也知道都是应届生不会要求那么高第三:当有一定能力后,就是坚持了,对于我们这样的学历,没有特别强的履历情况下,就是要抓住提前批和补录的机会,这个时候各方面不会卡的很严,是我们很好很好的一个机会第四:就是运气也是很重要的一部分,不过这个很难去说什么最后祝各位牛友都能收获自己满意的offer😁😁😁
秋招,不懂就问
点赞 评论 收藏
分享
评论
4
17
分享

创作者周榜

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