2017.08.31依圖面試

今晚連著面了三輪依圖。。毫無間隔。。累pee= =

第一輪

自我介紹+介紹項目

算法題1

leetcode題目

一個長度為n的數組,其中有一個數字出現次數大于n/2次,找出這個數字。

這個題貌似是個競賽經典題。。之前一個同事給我講過這個題,但是我給忘了!但是現場給出了兩種解法。。第三種面試官怎么提示都想不出了。。

第一種:一個dictionary記每個元素出現次數,如果出現次數大于n/2,中斷當前遍歷并返回,O(n)的復雜度

第二種:轉換為找第n/2大的數字的問題,解決。平均O(n) //我當時第一次說的是排序之后然后中間那個數字就是要找的,結果面試官讓我寫排序算法,我寫著寫著快排反應過來的。。

查了一下,是http://blademastercoder.github.io/2015/02/04/leetcode-MajorityElement.html 的思路2的解法

leetcode進階題目

算法題2

給出一個m行n列的矩陣,由元素0和1組成,元素0表示當前位置可以走,元素1表示當前位置是圍墻不能走。找出從(x0, y0)到(x1, y1)的任意一條路徑

深度優先搜索

第二輪

自我介紹+職業規劃聊天=。=

算法題1

n皇后問題,n*n矩陣里放n個皇后,給出一種解法

算法題2

已有一個Rand2()函數,可以等概率地生成0和1(都是1/2),問利用這個函數如何等概率地生成0, 1, 2, 3, 4, 5, 6。

面試官給出提示,先考慮如何等概率地生成0-7

每個出現的概率是1/8,這個可以用三位二進制表示法,每位是一個Rand2()

然后到等概率地生成0-6,只需在生成111的時候,再生成一次就可以

第三輪

自我介紹+項目介紹

算法題1

leetcode題目

進階:

leetcode題目

算法題2

leetcode原題

然鵝我還是不知道解法現場想的。。。

進階:

從最多只能進行一次買賣改為最多可以進行兩次買賣,問最大收益是多少

這個面到第三面腦子已經完全不轉了。。。面試官給的解法。。

從前往后掃一次,找前i天最大收益A[i];從后往前掃一次,找后i天最大收益B[i];這兩個可以一次遍歷做完。

然后再遍歷一遍,找A[i]+B[i]最大值


最后的吐槽。。無間斷連續三場(我開始還以為只面一場。。也怪自己沒問清楚。。于是晚飯都沒吃就去了。。還好男票在面試前跑去給買了面包和水,在前兩場中間塞了一個面包= =)還是挺懵以及挺難一直集中注意力的。。一個大屋子里,就3v3的面試別人說話也聽得很清楚,于是話到了腦子里腦子就會處理一下,于是思路也就會斷一下= =不過感覺面試官都很有趣~他們做的東西也都挺有趣的233(感覺自己被洗腦成功了。。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,771評論 0 33
  • 1.把二元查找樹轉變成排序的雙向鏈表 題目: 輸入一棵二元查找樹,將該二元查找樹轉換成一個排序的雙向鏈表。 要求不...
    曲終人散Li閱讀 3,371評論 0 19
  • 不知道從什么時候開始,我養成了現在這種默默無語的性格。 今天是情人節,我去面試,一同參加的有6個女孩。不巧的是,我...
    晴兒Scorpio閱讀 465評論 0 2
  • 拼豆豆最難的不是把豆豆一個一個的從盒子里取出來,而是拼好之后用熨斗熨燙,這個火候掌握不好的話就前功盡棄了,多試幾次...
    十安與哈哈閱讀 1,432評論 0 0
  • 她靠著陽臺喝著手邊最后一罐啤酒,下意識攥緊了手中的信,她暗暗對自己說,喝完了這最后一罐酒,便與從前的回憶決裂再不回...
    李小白愛吃鍋包肉閱讀 210評論 0 1