• IBM的兩道面試題

    2016/10/01 ★小V★ 5 评论

語言自選(但個人還是想看到Java的答案)

第一道:

題目是這樣的,我給出其中的幾句話,用“|“分開,你的任務是寫一個程序,判斷每一句話是否其他句子的substring,如果有,就不考慮在最終輸出中,然後給出判定規則為:

1.大小寫不分

2.開頭結尾空格無視

3. 符號除了空格還有橫杠其餘無視

4. 若有一句話中有多餘空格請當做為一個空格

 

輸入:

幾句話用“|“隔開

輸出:

已經除外掉substring句子,並按照原來格式分開每一句

Sample Input

Sample output

解釋:IBM cognitive computing 是IBM “cognitive” computing is a revolution的substring, IBM “cognitive” computing is a revolution跟’IBM Cognitive Computing’ is a revolution?是一模一樣的(根據規則),所以只留下IBM “cognitive” computing is a revolution

 

Sample Input 2

Sample Output 2

 

第二道:

IBM里有過百名員工,那麼員工之間有衝突的話就要找上司去解決,假如給出以下關係圖:

Tom是Mary上司,Mary是Bob上司,Bob是John的上司,Mary是Sam的上司,Pete是Sam的上司,Katie是Sam的上司

假如Mary跟Bob有衝突的話,就應該去找Tom(因為Tom是Mary上司,Bob的上司的上司是Tom);假如Bob跟Pete有衝突的話就找Mary,因為Bob的上司是Mary,而Pete的上司的上司是Mary;假如Pete跟Katie有衝突的話就找Sam,因為Sam是他們倆的上司。

 

你的任務是寫一個程序,根據關係圖,找出最接近這兩人關係的上司來處理這兩人的衝突,另外注意的是,每人都會也只有一個上司.

輸入:

關係圖(每個關係會用逗號分開),p1, p2; 關係圖的讀法是如果輸入是A -> B,就說明A是B的上司

輸出:

最接近p1,p2關係的上司

 

Sample Input:

Frank -> Mary, Mary ->Sam, Sam -> Pete, Mary -> Bob, Sam -> Katie, Bob -> John, Bob, Katie

Sample Output:

Mary

解釋:

因為Bob的上司是Mary, Katie的上司是Sam, Sam的上司是Mary,所以Mary是解決Bob跟Katie衝突的員工

 

Sample Input 2:

Frank -> Mary, Mary ->Bob, Bob -> John, Mary -> Sam, Sam -> Katie, Sam ->Pete, Pete -> Nancy, Sam, John

Sample Output 2:

Mary

解釋:

Sam的上司是Mary, John的上司是Bob, Bob的上司是Mary,所以解決Sam跟John之間的員工是Mary

 

(希望我的表達沒啥問題…畢竟是從英文翻譯過來的…)

1 收藏


直接登录
最新评论