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公司##笔试题目##测试开发工程师#