周一風塵僕僕(上午6點抵達成都)的去參加了凡客成都研發中心的面試,雖然經歷一夜的折騰讓我感覺頭腦很不清醒,不過這種面試狀態也不錯,能讓我深刻體驗一下在不清醒狀態下進行的思考和回答問題。午飯過後便出了門,習慣了不堵車,突然覺得成都的交通真的很擁堵。到達凡客成都研發中心填完錶後等了大概10多分鐘,面試官把我帶進會議室,開始了面試。面試過程為由3位技術大牛面試官輪番面試,他們問了很多有意義的技術和管理類的相關面試問題,我含含糊糊的回答了,最終還是disqualified。不過我很感謝面試官們能告訴我,在我身上存在不足。我覺得每一次的面試都能讓我成長一次,希望自己一次一次生長後能使我變的更強大。
話說回來,其中一位面試官問了乙個簡單的演算法問題,如:「1~9的隨機取出4個數組成24,如果可以組成則返回true,反之返回false」。這個題面試中遇到了無數次,網上也有很多思路,哎!一直沒有去看過和想過。比劃了半天也沒有什麼結果。回來後趁著上班間隙,自己思考了一下,為了給自己加深印象,寫了一段**(見附錄,學習和交流)進行練習。
我的思路是:
逐個遞迴的方式(到處都是遞迴,我只是寫法變了一下),如圖。先把陣列中的數逐個取出來,然後其餘的組成新陣列。取出來數於24進行加減乘除運算,以後統稱為calc()(如果不能整除則返回),再把新陣列中的所有數進行calc()將得到的結果進行對比,如果成功則停止運算返回true,不成功則,再從逐個取出新陣列的數,其餘的又組成另乙個新陣列,反覆遞迴後得到結果。
由於我才疏學淺加上最近又學習了《the thoughtworks anthology: essay on software technology and innovation》,自己摸索著寫出來的東西請勿見笑,希望各位大牛在閒暇之餘能幫我改進,我在此萬分謝謝。附件:演算法**
面試失敗之24點演算法
周一風塵僕僕 上午6點抵達成都 的去參加了凡客成都研發中心的面試,雖然經歷一夜的折騰讓我感覺頭腦很不清醒,不過這種面試狀態也不錯,能讓我深刻體驗一下在不清醒狀態下進行的思考和回答問題。午飯過後便出了門,習慣了不堵車,突然覺得成都的交通真的很擁堵。到達凡客成都研發中心填完錶後等了大概10多分鐘,面試官...
24點演算法
include typedef float cdecl type myfun float float float funadd float x,float y float funsub float x,float y float funmul float x,float y float fundiv...
24點演算法
給定四個數,計算這四個數 1 13 的 能不能得到24 佔時只實現滿足一種情況就列印 方法 窮舉法 思路 有兩種方式,1 連貫式計算 2 分隔式計算 1 連貫式計算 例如對於2 4 3 5的計算,2 4 6 6 3 18 18 5 23 2 4 3 5 2 分隔式計算 例如對於2 4 3 5的計算,...