雅虎2015校招筆試

2021-06-26 00:09:35 字數 1992 閱讀 7996

雅虎筆試的難度和強度還是挺大的,英文試題,允許中英文作答。

選擇題裡面難度最大的是一道是考察貝葉斯公式的題。題目說的是一種疾病,在100000人會中有1個人患這種病,而這種病的診斷正確率為99%。乙個人診斷結束後被告知患了該種病,求他真正患該種病的概率多大。

b0 =患病,b

1=沒有患病,a=診斷出患病

p(b0

|a)=p(b0)*p(a|b0)/(p(b0)*p(a|b0)+p(b

1)*p(a|b

1))=1/100000*99/100/(1/100000*99/100+99999/100000*1/100)

=99/100098,近似1/1000

填空題裡面難度最大的是求ackerman函式值。

ackerman函式的定義為:

最正統的解法就是求遞推公式了。

四道程式設計題:

1. 給定陣列a[1...n],返回陣列b[1...n],

其中,b[i] = a[1]*a[2]...a[i-1]*a[i+1]...a[n]。

不能使用除法,o(n)的時間複雜度,o(1)的空間複雜度。

這道題不難,不細說了,**就很直白。

public static int multiply(int a)

int suf = 1;

for(int i=a.length-2;i>=0;i--)

return b; }

2. 有4k+2個整數,其中k個整數出現了4次,乙個整數出現了2次。找出出現2次的整數。

最笨最笨的辦法就是用hash表記錄每個整數出現的次數,這樣幹估計只能拿點幸苦分了。

比較通用的辦法就是用32個整形變數bits_count[32]記錄每乙個bit上1出現的次數,然後選出bits_count[i]%4結果為2的bits組成乙個整數,就是出現2次的整數。

高階一點的辦法就是借用位運算,消除出現次數為4的整數倍的bit位。

這個是我的乙個初級版本。用了4個臨時變數。

public static int twosinfours(int a)

return twos;}

大神給出了終極版本。

public static int twosinfoursfinal(int a)

return flag2;

}3. matrix是乙個按行遞增,按列遞增的矩陣。給定元素,判斷該元素在矩陣中是否存在。分析演算法的時間複雜度。

1 3 5  7  9

2 4 6  8  10

5 7 8  10 15

6 8 10 11 17

public static boolean targetlocate(int matrix,int target)

}

return false;

}最壞情況是o(m*n)。

4.乙個老鼠物件包含兩個屬性:體重和速度。輸入乙個老鼠物件的序列,找出乙個按體重公升序、速度降序排列的最大子集。這是乙個最大上公升子串行問題。 常規解法的時間複雜度是o(n^2),使用二分查詢可使時間複雜度降到o(nlog(n))。

public static mice maxrisesubseq(mice m)

}

dp[i] = dp[max] + 1;

if(dp[i]>dp[gmax])

gmax = i;

}arraylistresult = new arraylist<>();

int pre = gmax;

result.add(m[gmax]);

for(int i=gmax-1;i>=0;i--)

}

mice m = new mice[result.size()];

for(int i=0;im[i] = result.remove(0);

return m;

}class mice

}

class micecomparator implements comparator

}

雅虎2015校招面試總結

一面 基本上就是跟面試官閒聊,說了一會我的rtb大賽,然後考了一道演算法題。題目是,對乙個0和1組成的字串加密,加密方法是encode i code i 1 code i code i 1 比如0110111加密後的結果是1222232。寫乙個演算法,輸入為加密後的串,輸出是解密的01串。自己想了一...

京東2015校招筆試程式設計題

醜數問題,在 劍指offer 一書的182頁有詳細討論。簡單來說,就是 新的醜數總是以前的某個醜數乘以2 3或5產生,那麼分別用三個指標p2 p3和p5指向乘以2 3和5後能生成新的醜數的醜數,那麼下乙個醜數就是它們生成的新的醜數中最小的乙個。public static int kthnumber ...

決戰2015校招

主要原因可能 沒寫好,下回一定要形成思路再動筆。然後就是字要寫好一點,不要潦草。9月18日晚 同學接到zx的面試通知,希望也會通知我吧。接到lc通知,明天迎來第一面!9月19日 lc一面 感覺沒答好 資料鏈路層的協議有哪些,b樹的定義,mapreduce的優點在哪?得認真看書了。xw一面 基本沒問我...