搜狐暢遊2018筆試總結(資料探勘方向)
阿新 • • 發佈:2018-12-10
剛做完回憶一波題目,記得不太全了,設計概率論、基礎演算法,簡單程式設計
一、選擇題
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; }