毫無疑問,動態規劃問題在編碼面試中可能會非常可怕。即使你知道一個問題需要用動態規劃方法來解決,在有限的時間內想出一個可行的解決方案也是一個挑戰。
精通動態規劃問題的最好方法是儘可能多地研究它們。雖然你不一定要記住每個問題的解決方案,但有一個如何著手實施的想法是很好的。
簡單地說,動態規劃是遞迴演算法的一種最佳化方法,大多數遞迴演算法用於解決計算或數學問題。
你也可以稱之為一種演算法技術,透過將最佳化問題分解成更簡單的子問題來解決。動態規劃的一個關鍵原則是,問題的最優解取決於子問題的解。
每當我們看到一個遞迴解決方案對相同的輸入重複呼叫時,我們就可以使用動態規劃來最佳化它。其思想是簡單地儲存子問題的結果,這樣我們就不必在以後需要時重新計算它們。
動態程式設計的解決方案具有多項式複雜性,這確保了比遞迴或回溯等其他技術更快的執行時間。在大多數情況下,動態規劃減少了時間複雜性,也被稱為大O,從指數到多項式。
現在您已經對什麼是動態規劃有了一個很好的瞭解,是時候檢查一些常見的問題及其解決方案了。
給定一組專案,每個專案都有一個權重和一個值,確定要包含在集合中的每個專案的數量,以便總權重不超過給定的限制,並且總值儘可能大。
我們為您提供了兩個整數陣列值[0..n-1]和權重[0..n-1],它們分別表示與n個項相關聯的值和權重。同時給出了一個表示揹包容量的整數W。
這裡我們要解決0/1揹包問題,這意味著我們可以選擇新增或排除一個專案。
2硬幣兌換問題
假設給你一個數字陣列,代表每枚硬幣的價值。給定一個特定的數量,找出**這個數量所需的最小硬幣數量。
三。斐波那契
斐波那契級數是一個整數序列,其中級數中的下一個整數是前兩個整數的和。
它由以下遞迴關係定義:F(0)=0,F(n)=F(n-1)+F(n-2),其中F(n)是第n項。在這個問題中,我們必鬚生成斐波那契數列中的所有數字,直到給定的第n項。
4子序列
求給定陣列中最長遞增子序列的長度。最長遞增子序列是一個遞增順序的數字陣列中的子序列。子序列中的數字必須是唯一的並按升序排列。
此外,序列的專案不需要是連續的。
現在您已經學習了一些最流行的動態程式設計問題,現在是時候自己嘗試實現這些解決方案了。如果你被困住了,你可以隨時回來,並參考上述每個問題的演算法部分。
考慮到遞迴和動態程式設計等技術如今是多麼流行,不妨看看一些流行的平臺,在那裡您可以學習這些概念並磨練您的編碼技能。雖然你可能不會每天遇到這些問題,但你肯定會在技術面試中遇到它們。
當然,當你去參加下一次面試時,掌握一些常見問題的訣竅肯定會有好處。所以開啟你最喜歡的IDE,開始吧!
...訊系統稱為系統開發生命週期(SDLC)。SDLC的主要步驟是規劃、系統分析、系統設計、開發、系統測試和維護。在規劃中,確定問題的範圍。在這個階段考慮資源、成本、時間等。 下一步是系統分析。它是對終端使用者所需的功...
研究(research)和解決問題(problem solving)的區別 研究和解決問題是兩個經常令人困惑的概念,儘管這兩個過程之間有一個關鍵的區別。這種困惑源於這樣一個事實,即研究和解決問題都有一個共同的因素。這就是問題所在。在研...
...您提供導致問題的重要資訊。在下面的Windows8和更新的BSOD示例中,我們可以看到HAL\ U初始化\失敗的程式碼。重新啟動後,google this將提供有關特定問題的更多資訊。您還可以使用BlueScreenView工具在事後分析藍色畫面。 ...
... 讓我們看看Windows10中困擾工作列的最常見問題的修復,比如工作列根本沒有響應。使用這些解決方案,您可以再次擁有一個功能齊全的工作列。 ...
你開啟一個應用程式,它會立即強制關閉。你再開啟它,它會做同樣的事情。這顯然是一個問題,但簡單地清除你的應用程式資料和快取可能被證明是一個相當容易的解決辦法。 就像任何其他作業系統一樣,Android儲存某些應用...
...不僅提高了作業系統的效能,而且出於同樣的原因修復了常見的應用程式問題。因此,如果您對某個特定的應用程式有問題,並且您關閉/重新開啟它而沒有解決問題,則重新啟動可能是解決方案。 為什麼?因為即使你刷走一個...
如果您在安裝Office 365時遇到問題或特定Office應用程式出現問題,Microsoft提供了兩個自動化工具,可以幫助您排除故障並修復問題。 相關:檢測和修復Microsoft Office 2007中的應用程式 第一個工具“Office修復嚮導”的功能更為有限...
...電、可訪問性和緊急服務,然後將使用者指向每一類中的常見問題和解決方案。理想情況下,新的投訴將有助於委員會在緊急問題廣為人知之前發現...
...止日期前提交索賠。當然,你不會馬上看到你的錢。和解常見問題指出,該案的法官可能會在12月4日的最終庭審後簽署協議,但如果有任何上訴,這一過程可能會拖得更久,推遲支付。更新:這個故事最初由艾米莉·朗在2020年7...