解決算法問題的一般方法-算法數(shù)據(jù)結(jié)構(gòu)面試分享(一)-創(chuàng)新互聯(lián)

 先看一道題目: 給你一個整型數(shù)組,我想找出來大的兩個數(shù),能幫我寫一個算法嗎?

    拿到這個題目,大家會怎么想到用什么方法解決嗎?我見過很多同學(xué)的回答是,先排序,取大的兩個數(shù)就好了。那么接下來我們的問題就變成了如何給這個整型數(shù)組排序了。我們有很多種方法,冒泡排序,快速排序等等。很有可能面試官就讓你開始寫具體的排序算法了。當(dāng)然,有些有經(jīng)驗的同學(xué)可能會說了,排序我直接調(diào)用sort方法就好了哈。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供睢縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為睢縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

   其實,這兩種情況都沒有對錯之分,只是沒有敲開面試官的心扉,也沒有給人眼前一亮,讓自己脫穎而出。

   再看這道題,如果我是面試官,首先我想知道你對這道題的理解是什么?你打算怎么解決?你有什么問題要和我溝通確認(rèn)的嗎?如果這些功課都到位了,就算代碼有些缺陷,面試官或許也不會計較,誰能無過哈。何況我們還是學(xué)生呢,經(jīng)驗少點,但是我有潛力呀。

 好了,如果要問,我能問什么呢?

大家都知道溝通很重要,沒有哪一個項目是可以一個人去完成的。我列一些問題給大家參考哈:

  1. 整型數(shù)組,數(shù)組的長度有限制嗎?(沒有提出來,基本上沒有限制)

  2. 這個數(shù)組里數(shù)字的范圍已知嗎?(沒有提出來,基本上沒有特定范圍)

  3. 找大的數(shù),那我能排序嗎?能調(diào)用已有的SDK嗎?(廢話,當(dāng)然不行,要不怎么叫寫個算法呢)

  4. 能改變原來的數(shù)組順序嗎?(如果排序,基本上是改變了,除非你又copy了一個數(shù)組)

  5. 對算法的時間復(fù)雜度和空間復(fù)雜度有要求嗎?(當(dāng)然越小越好)

  6. 找大的兩個數(shù),如果數(shù)組里只有一個或者沒有數(shù)字怎么辦?(你覺得呢?有一個返回一個,另一個返回什么呢? 0 還是 int.min 值,還是空值?哪一個更合理)

  7. 如果數(shù)組是空怎么辦?(返回異常嗎?返回最小值嗎?返回空數(shù)組嗎?數(shù)組里返回空值嗎?)

  8. 返回兩個數(shù),用數(shù)組返回嗎?還是用參數(shù)返回?(那我們返回數(shù)據(jù)吧)

  9. 返回兩個數(shù),大的放第一個,第二大的放第二個嗎?(假設(shè)是這樣吧)

  10. 返回兩個數(shù),這個需求會經(jīng)常變更嗎?(返回3個?任意個?)

   我相信,可能你還能想到更多的問題。好了,我們能夠想象,就這些問題我們估計會討論個幾分鐘,當(dāng)然,也會有面試官把問題踢回給你,讓你自己給答案,不合理的時候他可能還會問為什么。那我們就只能按照自己的理解把最佳方案寫出來了。這篇blog是為了拿這道題為例,總結(jié)解決算法和數(shù)據(jù)結(jié)構(gòu)的一般方法,接下來的章節(jié)里我們會帶大家一起解析這道題。

   直接上干貨了哈。解決算法和數(shù)據(jù)結(jié)構(gòu)問題一般會遵循以下6個步驟,而真正代碼其實其中的一兩步。

  1. 確保你理解了問題,并且嘗試一個例子,確認(rèn)理解無誤

  2. 想想你可以用什么方法解決問題,你會選擇哪一種,為什么?

  3. 解釋你的算法和實現(xiàn)的方法

  4. 寫代碼的時候,記住,一定要解釋你現(xiàn)在在干什么

  5. 拿一個實例,Work Through你的代碼

  6. 修復(fù)缺陷,保證異常情況都被考慮到

當(dāng)然,這中間如果你發(fā)現(xiàn)了新的問題,我們需要及時提出來。當(dāng)我們寫不下去的時候,我們要再回到之前的例子中去,是不是我們的理解不對,當(dāng)然面試官在這時候也會忍不住和你溝通的,除非你自己放棄了這個機(jī)會。

接下來的章節(jié)里,我們就按照這6部曲解析常見的算法和數(shù)據(jù)結(jié)構(gòu)的問題了。

好了,歡迎大家關(guān)注我的公眾號,還有我的系列視頻教程,

  • 數(shù)據(jù)結(jié)構(gòu)與算法

  • BAT、微軟經(jīng)典算法面試題輔導(dǎo)

  • 排序算法專題

  • 鏈表算法的專題課程

大家有什么更好的解法,也歡迎討論哈。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

本文標(biāo)題:解決算法問題的一般方法-算法數(shù)據(jù)結(jié)構(gòu)面試分享(一)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://m.kartarina.com/article32/cciepc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、域名注冊、搜索引擎優(yōu)化、品牌網(wǎng)站制作、網(wǎng)站排名、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
主站蜘蛛池模板: 久久亚洲精品无码aⅴ大香 | 亚洲中文字幕无码久久2020| 夜夜添无码一区二区三区| 精品一区二区无码AV| 久久久久久亚洲Av无码精品专口| 色欲aⅴ亚洲情无码AV蜜桃| 精品久久久久久无码人妻| 亚洲AV无码成人精品区在线观看 | 久久精品无码一区二区三区| 亚洲精品9999久久久久无码| 国产成人无码a区在线视频| 人妻丰满熟妇岳AV无码区HD| 亚洲AV无码之日韩精品| 欧洲无码一区二区三区在线观看| 狠狠爱无码一区二区三区| 久久久无码精品亚洲日韩按摩| 无码精品人妻一区二区三区影院| 97久久精品亚洲中文字幕无码| 人妻无码一区二区三区四区| 一本天堂ⅴ无码亚洲道久久| 无码人妻丰满熟妇精品区| 少妇无码AV无码专区线| 在线观看免费无码专区| 丰满少妇人妻无码| 免费无码黄网站在线观看| 影音先锋中文无码一区| 无码国产精成人午夜视频一区二区| 无码任你躁久久久久久久| 日韩激情无码免费毛片| 久久久久av无码免费网| 无码福利写真片视频在线播放| 国产aⅴ无码专区亚洲av| 少妇无码太爽了不卡在线观看 | 成人无码WWW免费视频| 精品久久久无码中字| 永久免费无码日韩视频| 用舌头去添高潮无码视频| 日韩A无码AV一区二区三区| mm1313亚洲国产精品无码试看| 亚洲中文字幕无码爆乳| 亚洲Aⅴ在线无码播放毛片一线天|