小編下面推薦的這套筆試題目,是一位網友剛參加完百度2015研發工程師招聘筆試分享的,大家敬請關注!
一、簡答題
1.深度神經網絡目前有哪些成功的應用?簡述原因。(10分)
2.列舉不同進程共享數據的方式(至少三種)。(10分)
3.對于N個樣本,每個樣本為D維向量,采用歐式距離使用KNN做類預測。(10分)
1).給出預測時間復雜度。
2).當N很大時,有哪些方法可以降低復雜度?
3).k取值的大小對預測方差和偏差有何影響?
二、算法和程序設計
1.給出一個數據A=[a_0, a_1, a-2, ... a_n](其中n可變),打印出該數值元素的所有組合。(15分)
2.有這樣一個數組A,大小為n,相鄰元素差的絕對值都是1,如A={4,5,6,5,6,7,8,9,10,9}。現在給定數組A和目標整數t,請找到t在數組中的位置。(15分)
3.在平面上有一組間距為d的平行線,將一根長度為l(l
三、系統設計題(兩題中任選一題作答,25分)
2.關于K-means聚類算法,請回答以下問題:
1).寫出將N個樣本X=(x1, ... xN)聚類成k類的k_means聚類算法的優化目標;
2).描述K-means終止的常用條件;
3).以Kmeans算法為例,描述Expectation-Maximization(EM)算法的基本原理與步驟。
4).用偽代碼給出基于MPI或者HADOOP的Kmeans并行算法。
我的部分解答:
二、(2)
public static int find(int[] a, int t) {
int i=0;
while(i
if(t == a[i]) {
return i;
} else {
i += Math.abs(t - a[i]);
}
}
return -1;
}
public static void main(String[] args) {
int[] a = {4,5,6,5,6,7,8,9,10,9};
System.out.println(find(a, 7));
}