91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

算法題類型以及準(zhǔn)備策略

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:Coder梁 ? 作者:梁唐 ? 2021-09-02 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天就和大家聊聊大公司的面試環(huán)節(jié)經(jīng)常涉及的算法題類型以及準(zhǔn)備策略。

問題難度首先大家比較關(guān)心的就是面試時候出現(xiàn)的算法題的難度,從我的個人經(jīng)驗(yàn)來看,除了有一次和同樣有acm獲獎經(jīng)歷的面試官切磋了一次之外,基本上難度都沒有超過LeetCode的困難難度。并且這還是因?yàn)槲矣衋cm經(jīng)歷加成的情況下,大部分問題都只有LeetCode Medium的難度。

當(dāng)然LeetCode的中等難度這個范圍也是比較寬的,既有非常簡單無聊的水題,也有比較棘手,值得深入思考的高價值問題。所以只是知道這一點(diǎn)一點(diǎn)用也沒有,想要知道對自己來說究竟有多難,還是需要自己親身體會一下。

但可以非??隙ǖ卣f,LeetCode中Medium難度下的問題所用到的算法,基本上都在大學(xué)算法課程的內(nèi)容里。幾乎沒有超綱的內(nèi)容,也不涉及比較復(fù)雜和困難的數(shù)據(jù)結(jié)構(gòu),都是非常非常基礎(chǔ)的,甚至都遠(yuǎn)遠(yuǎn)達(dá)不到高中信息競賽的水平。我一點(diǎn)沒和大家夸張,下面這張圖是我網(wǎng)盤里當(dāng)年高中競賽的課件,大家可以感受一下難度。

但是算法這個東西,大家千萬不要被嚇到,主要是心理上唬人,實(shí)際的難度并沒有那么大。真正下定決心去練習(xí),從入門到精通也不過是幾個月的事情。我當(dāng)年好幾個隊友都是大學(xué)才開始編程,短短半年時間已經(jīng)在賽場上獨(dú)當(dāng)一面了。

常見的題型面試或者白板編程,由于形式的限制,題目的選擇范圍其實(shí)并不大。并不難理解,畢竟面試的時間有限,也不能全拿來做題,而太困難太復(fù)雜的問題候選人一點(diǎn)思路也沒有,大部分人都做不上來,也完全起不到考察和篩選的意義。

所以拿來當(dāng)做面試和白板編程的問題,不會很復(fù)雜,至少會保證絕大多數(shù)的候選人都聽說過。就好像打游戲一樣,哪怕是玩家津津樂道的魂游戲,總要有過關(guān)的可能。如果上來就考察一個問題,結(jié)果你連正解用到的算法都沒聽說過,一開始就沒有做出來的可能,這種問題問了就只能浪費(fèi)時間。

根據(jù)我的經(jīng)驗(yàn),面試當(dāng)中常問的問題基本上就這幾種:二分、遞歸、分治、排序、動態(tài)規(guī)劃。

這幾種算法只要是科班出身,基本上都或多或少聽說過,理論上來說都應(yīng)該能做出來。并且這些算法除了比較基礎(chǔ)之外,它們的代碼量都不大,一般核心代碼都不會超過30行,確保編碼的時間不會太長。第二是比較考驗(yàn)思維,通過你對這幾個算法的理解深度,就足以看出來你的思維能力和算法能力了。

解題套路劃好了重點(diǎn),再分享幾個解題的套路。

縮小問題規(guī)模有可能問題里問的是一個規(guī)模很大的問題,比如漢諾塔問題,要移動64個圓盤,這太復(fù)雜了,我們根本無法思考。不妨把問題的規(guī)??s小,比如縮小到3個圓盤,然后我們就可以列舉一下情況,找找規(guī)律和套路了。

即使是在acm賽場當(dāng)中,這個方法也非常管用。

確定復(fù)雜度在acm賽場上題目當(dāng)中都會標(biāo)明數(shù)據(jù)的大小范圍,除了起到限制作用之外也是一個很大的提示。我們可以根據(jù)數(shù)據(jù)的規(guī)模反推出正解的復(fù)雜度范圍,從而排除掉一些不可能的算法。

比如說要在個數(shù)當(dāng)中尋找某個數(shù),由于計算機(jī)每秒的運(yùn)行次數(shù)在這個量級,這么大的規(guī)模遍歷一遍都有些扛不住,那么顯然正解的復(fù)雜度一定在及以下。這么一來,我們就可以根據(jù)算法的復(fù)雜度排除掉一大批達(dá)不到要求的算法,排除錯誤的選項(xiàng)。

在面試的時候面試官往往不會明確給出數(shù)據(jù)的規(guī)模,我們可以自己結(jié)合實(shí)際情況分析,當(dāng)然直接提問也是一個不錯的選擇。

優(yōu)化思路面試不是比賽,并不是一定要給出正解。有的時候,我們一時陷入誤區(qū)沒想到解法也是常有的。重要的并不是我們是否想出了解法,而是我們能否展現(xiàn)我們思維的能力,打動面試官。

所以有的時候一下子沒有想到最優(yōu)解也沒有關(guān)系,我們可以先易后難,先把一些簡單可行的解法說出來,然后再進(jìn)行優(yōu)化。

比如LeetCode第4題,尋找兩個有序數(shù)組的中位數(shù)。我們當(dāng)然很難一下子想出的正解,但是我們可以先從最簡單的方法說起。比如重新排序直接尋找,這樣操作的復(fù)雜度是。說出這個方法之后,我們接著從不使用排序解決問題的角度繼續(xù)思考,如此一步步逐漸深入,即使最終沒能找到正解,也體現(xiàn)出了我們的思考是有章法的,并且思考和分析問題的能力是有的。

建議最后給大家分享幾點(diǎn)我個人的小建議,幫助大家少走點(diǎn)彎路。

貴精不貴多如果是為了準(zhǔn)備面試,就像我前面列舉的一樣,其實(shí)并不會涉及很多內(nèi)容。相比去研究很多高大上面試的時候用不到的高大上算法,倒不如好好把這幾個算法啃扎實(shí)。

就拿排序來說,想要全部搞明白就很不簡單。我隨便寫幾個問題,大家不妨對照一下看看能不能回答上來。

冒泡排序和選擇排序有什么區(qū)別?

為什么說快速排序和歸并排序都基于分治算法,但它們的最差復(fù)雜度不同?

排序的穩(wěn)定性是什么?哪些算法是穩(wěn)定的,哪些不是?

關(guān)于快速排序算法的最差復(fù)雜度,有哪些優(yōu)化?

如果都能不僅僅滿足原理,而是可以深入到細(xì)節(jié)的方方面面去鉆研,那么即使只是準(zhǔn)備了幾個算法,應(yīng)付一般的面試都不在話下。

成體系化訓(xùn)練算法的學(xué)習(xí)過程是比較痛苦的,尤其是如果我們漫無目的地去訓(xùn)練和學(xué)習(xí),進(jìn)展非常緩慢,非常勸退。很多同學(xué)都有刷題刷了一堆,但是水平好像沒什么提升的情況。

我個人感覺比較有效的方法是成體系化的訓(xùn)練,不要按照題目順序刷題,而是以算法劃分專題,按照專題刷題。一個算法一個算法的硬啃,一個算法吃透再吃下一個。這樣訓(xùn)練下來印象會非常深刻,對于算法的理解也會深刻得多,也不容易忘記。要比題目刷了一堆, 算法也用了一堆, 看起用得多,但也忘得多要好得多。

篇幅有限,今天就和大家聊到這里,感謝閱讀和支持。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4784

    瀏覽量

    98024
  • 編程
    +關(guān)注

    關(guān)注

    90

    文章

    3716

    瀏覽量

    97169

原文標(biāo)題:LeetCode ,YYDS!

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【精選直播】openDACS 2025 開源EDA與芯片大賽 賽五 賽七 直播宣講會

    openDACS2025開源EDA與芯片大賽線上宣講賽五:芯片大模型Finetune11月11日(周二)19:30精彩開播|宣講信息報告題目賽宣講:芯片大模型Finetune宣講嘉賓王穎
    的頭像 發(fā)表于 11-11 08:08 ?760次閱讀
    【精選直播】openDACS 2025 開源EDA與芯片大賽 賽<b class='flag-5'>題</b>五 賽<b class='flag-5'>題</b>七 直播宣講會

    【精選直播】openDACS 2025 開源EDA與芯片大賽 賽二 賽四 直播宣講會

    openDACS2025開源EDA與芯片大賽線上宣講賽二:TestBench生成與驗(yàn)證10月31日(周五)19:30精彩開播|宣講信息報告題目賽宣講:TestBench生成與驗(yàn)證宣講嘉賓葉靖
    的頭像 發(fā)表于 10-28 10:08 ?945次閱讀
    【精選直播】openDACS 2025 開源EDA與芯片大賽 賽<b class='flag-5'>題</b>二 賽<b class='flag-5'>題</b>四 直播宣講會

    BLDC與PMSM電機(jī)控制算法的聯(lián)系與區(qū)別

    的不同表現(xiàn),實(shí)質(zhì)上是市場應(yīng)用(低成本基礎(chǔ)應(yīng)用 vs. 高性能精密控制)在選擇不同控制策略后所呈現(xiàn)的結(jié)果。在實(shí)際應(yīng)用中,應(yīng)根據(jù)具體的性能需求、成本預(yù)算和技術(shù)能力來選擇最合適的“電機(jī)+控制算法”組合。
    發(fā)表于 10-27 09:23

    數(shù)據(jù)濾波算法的具體實(shí)現(xiàn)步驟是怎樣的?

    ? 數(shù)據(jù)濾波算法在電能質(zhì)量在線監(jiān)測裝置中的具體實(shí)現(xiàn),需圍繞 “ 數(shù)據(jù)采集→預(yù)處理→算法執(zhí)行→參數(shù)適配→效果驗(yàn)證→結(jié)果輸出 ” 的全流程展開,核心是結(jié)合裝置硬件特性(采樣率、ADC 精度)和干擾類型
    的頭像 發(fā)表于 10-10 16:45 ?807次閱讀

    如何進(jìn)行動態(tài)校準(zhǔn)與補(bǔ)償策略的實(shí)施?

    工具類型(硬件 / 軟件)、環(huán)境特征(強(qiáng)電磁 / 高溫高濕等)分步驟落地,形成 “環(huán)境感知 - 模型計算 - 實(shí)時修正 - 驗(yàn)證優(yōu)化” 的閉環(huán)流程,具體實(shí)施方法如下: 一、實(shí)施前準(zhǔn)備:明確核心影響因素與校準(zhǔn)目標(biāo) 在啟動動態(tài)校準(zhǔn)與補(bǔ)償前,
    的頭像 發(fā)表于 09-23 17:56 ?948次閱讀

    【賽知多少】 紫光同創(chuàng)賽答疑專場|2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽FPGA賽道

    紫光同創(chuàng)賽道答疑專場來啦!2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽報名已拉開帷幕,F(xiàn)PGA賽道的挑戰(zhàn)與創(chuàng)新并存。近期,我們收到許多關(guān)于賽的咨詢,小眼睛科技團(tuán)隊第一時間整理了大家的疑問,并帶來
    的頭像 發(fā)表于 08-06 11:02 ?3575次閱讀
    【賽<b class='flag-5'>題</b>知多少】 紫光同創(chuàng)賽<b class='flag-5'>題</b>答疑專場|2025年全國大學(xué)生嵌入式芯片與系統(tǒng)設(shè)計競賽FPGA賽道

    DFT算法與FFT算法的優(yōu)劣分析

    算法之間有什么不同,采用相關(guān)算法的依據(jù)。下面就來介紹一下兩種算法的不同以及適用的一些場合。 DFT算法,是連續(xù)傅里葉變換在時域和頻域上都離散
    的頭像 發(fā)表于 08-04 09:30 ?1387次閱讀

    API讓電商“活”起來:動態(tài)定價策略的革新力量

    格局。而應(yīng)用程序編程接口(API)正是這一變革的核心引擎,它將數(shù)據(jù)、算法和業(yè)務(wù)系統(tǒng)無縫連接,使電商平臺真正“活”起來。本文將逐步解析動態(tài)定價策略的原理、API的關(guān)鍵作用、技術(shù)實(shí)現(xiàn),以及其實(shí)際應(yīng)用,幫助您理解這一創(chuàng)
    的頭像 發(fā)表于 07-22 14:46 ?580次閱讀

    無軸承永磁電機(jī)懸浮波動抑制策略

    。將等效擾動電流補(bǔ)償?shù)娇h浮控制算法中以抑制懸浮波動。與僅采用PID控制算法相比較,仿真結(jié)果表明所提控制策略能夠抑制懸浮波動,實(shí)現(xiàn)電機(jī)穩(wěn)定懸浮。 純分享帖,點(diǎn)擊下方附件免費(fèi)獲取完整資料~~~ 內(nèi)容有
    發(fā)表于 07-14 17:51

    雙三相感應(yīng)電機(jī)SVPWM的新型過調(diào)制策略

    摘要:過調(diào)制策略能夠提高逆變器輸出電壓范圍和品質(zhì),從而提高電機(jī)輸出轉(zhuǎn)速范圍和轉(zhuǎn)矩特性。針對雙三相感應(yīng)電機(jī)空間矢量脈寬調(diào)制(SVPWM)算法過調(diào)制區(qū)域有限,分區(qū)實(shí)現(xiàn)復(fù)雜,內(nèi)存占用率大等問題,提出一種
    發(fā)表于 06-19 11:10

    高層數(shù)層疊結(jié)構(gòu)PCB的布線策略

    高層數(shù) PCB 的布線策略豐富多樣,具體取決于 PCB 的功能。這類電路板可能涉及多種不同類型的信號,從低速數(shù)字接口到具有不同信號完整性要求的多個高速數(shù)字接口。從布線規(guī)劃和為各接口分配信號層的角度來看,這無疑是一項(xiàng)極具挑戰(zhàn)性的任務(wù)。
    的頭像 發(fā)表于 05-07 14:50 ?1616次閱讀
    高層數(shù)層疊結(jié)構(gòu)PCB的布線<b class='flag-5'>策略</b>

    基于RV1126開發(fā)板的AI算法開發(fā)流程

    AI算法開發(fā)流程由需求分析到準(zhǔn)備數(shù)據(jù),然后到選取模型,訓(xùn)練模型,接著模型轉(zhuǎn)換后進(jìn)行模型部署
    的頭像 發(fā)表于 04-18 14:03 ?2354次閱讀
    基于RV1126開發(fā)板的AI<b class='flag-5'>算法</b>開發(fā)流程

    基于RV1126開發(fā)板的AI算法開發(fā)流程

    AI算法開發(fā)流程由需求分析到準(zhǔn)備數(shù)據(jù),然后到選取模型,訓(xùn)練模型,接著模型轉(zhuǎn)換后進(jìn)行模型部署
    的頭像 發(fā)表于 04-18 10:47 ?1082次閱讀
    基于RV1126開發(fā)板的AI<b class='flag-5'>算法</b>開發(fā)流程

    電機(jī)大范圍調(diào)速的綜合電壓調(diào)制策略

    使用DPWM策略,并提出一種基于零矢量分配的過渡策略,使得兩種調(diào)制方式可以平滑的過渡。這種方法使得電壓波形質(zhì)量,開關(guān)損耗以及電壓線性范圍得到優(yōu)化。最后,搭建了基于Simulink的仿真模型,結(jié)果表明提出的方法可
    發(fā)表于 04-01 14:51

    C++學(xué)到什么程度可以找工作?

    常重要的。這可以是個人項(xiàng)目、開源貢獻(xiàn)或是學(xué)校作業(yè)等,關(guān)鍵是要能展示你解決問題的能力和技術(shù)水平。 8. **八股文準(zhǔn)備**:針對校招,還需要準(zhǔn)備一些經(jīng)典的面試問題,即所謂的“八股文”,比如常見的算法
    發(fā)表于 03-13 10:19