刚做完回忆一波题目,记得不太全了,设计概率论、基础算法,简单编程
一、选择题
1.选择题分为单选和多选,我主要记录一下当时觉得比较棘手的
2.第一部分单选全是关于游戏的,大概是我没理解这是做游戏的=_=
二、填空题
1.有一个人下8级的楼梯,他一次可以选择走一个台阶或者两个台阶,请问这个人有多少种方式下楼 【34】
2.设随机变量的X的概率密度函数为F(x) = 0.5*g(x) + 0.5g((x-4)/2) ,其中g(x)为标准正态分布的概率密度函数,求期望E(X)。 【1.5】 ==我想的是 0.5 + 1 如果我错了,大佬们指点一下~
3.假设要基于一个词汇量为V 的词典训练skip-gram词向量模型,词向量的维度是D,若采用福彩杨算法提升训练,负样本个数为N-1,则在每次更新输出向量时需要参数数量是(只考虑神经元权重,不考虑偏置)【D】我感觉自己做错了====
4.二叉树排列,前序 :ABCDEFGHIJ, 中序排列为: CBAEFD
则后序排列为【CBFEIJHGDA】
三、简答题
1.对玩家的游戏评论进行情感分析挖掘,问你如何设计情感挖掘框架模型?
这个我实习做过一个相关的课题
2.介绍CNN对图像如何进行处理和分类,为什么CNN可以进行一些自然语言处理(如文本分类)?
文本或者句子都是一个矩阵,也可以看做是一个图像。
四、编程题
1.老师给小朋友分苹果
#include <iostream>
#include <vector>
#include <numeric>
#include <limits>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
int main() {
int M; // M个小朋友
while (cin >> M) {
if (M <= 0)
break;
int sum = 0;
vector<int> vec(M);
for (int i = 0; i < M; ++i) {
cin >> vec[i];
sum += vec[i];
}
if (sum % M != 0) {
cout << -1 << endl;
continue;
}
int avg = sum / M;
int result = 0;
for (int i = 0; i < M; ++i) {
if (vec[i] < avg) {
if ((avg - vec[i]) % 2 != 0) {
cout << -1 << endl;
continue;
}
}
else if (vec[i] >= avg) {
if ( ( vec[i] - avg ) % 2 != 0 ) {
cout << -1 << endl;
continue;
}
else result += (vec[i] - avg) / 2;
}
}
cout << result << endl;
}
return 0;
}
2.学数学,老师说一个数,两个同学分别说一个素数,相加等于老师说的数
#include <iostream>
#include <vector>
#include <numeric>
#include <limits>
#include<string>
#include<map>
#include<algorithm>
using namespace std;
bool isPrime(int n)
{
float n_sqrt;
if (n == 2 || n == 3)
return true;
if (n % 6 != 1 && n % 6 != 5)
return false;
n_sqrt = floor(sqrt((float)n));
for (int i = 5; i <= n_sqrt; i += 6)
{
if (n % (i) == 0 | n % (i + 2) == 0)
return false;
}
return true;
}
int main() {
int n, res;
cin >> n;
res = 0;
for (int i = 2; i <= n / 2; i++)
{
if (isPrime(i) && isPrime(n - i))
res++;
}
cout << res << endl;
system("pause");
return 0;
}