550 次瀏覽
這裡給出了 n 個地段,每個地段在路的兩側都可以建造建築物。如果兩棟房子之間需要一個空位,那麼在該地塊中建造建築物的可能方式有多少種。建造建築物有四種可能性:道路的一側、道路的另一側、不能建造建築物、道路的兩側。輸入和輸出 輸入:它需要建造建築物的段數。假設輸入為 3。輸出:輸入段數:3 建築物可以以 25 種不同的方式建造。演算法 constructionWays(n) 輸入:有 n 個地段。輸出…閱讀更多
581 次瀏覽
讓我們考慮一個遊戲,在這個遊戲中,玩家每次移動可以獲得 3、5 或 10 分。還會給出目標分數。我們的任務是找到使用這三個分數達到目標分數有多少種可能的方式。透過動態規劃方法,我們將建立一個從 0 到 n 的所有分數的列表,對於 3、5、10 的每個值,我們只需更新表格即可。輸入和輸出 輸入:使用 3、5 和 10 達到的最大分數。假設輸入是 50。輸出:使用…閱讀更多
647 次瀏覽
在這個問題中,我們必須找到一些沒有連續 1 的二進位制數。在 3 位二進位制字串中,有三個二進位制數 011、110、111 具有連續的 1,並且有五個數字沒有連續的 1。因此,將此演算法應用於 3 位數字後,答案將為 5。如果 a[i] 是二進位制數字的集合,其位數為 I,並且不包含任何連續的 1,而 b[i] 是二進位制數字的集合,其中位數為 I,並且包含連續的 1,那麼存在如下遞迴關係:a[i] := …閱讀更多
675 次瀏覽
在這個問題中,我們必須找到 1 到 n 範圍內所有數字的數字之和。例如,54 的數字之和是 5 + 4 = 9,像這樣,我們必須找到所有數字及其數字之和。我們知道可以生成 10d - 1 個數字,其位數為 d。為了找到所有這些位數為 d 的數字的總和,我們可以使用遞迴公式 sum(10d- 1)=sum(10d-1- 1)*10+45*(10d-1) 輸入和輸出 輸入:此演算法採用範圍的上限,假設它是 20。輸出:…閱讀更多
263 次瀏覽
有一個矩陣,每個單元格中都有點數,如何使用兩次遍歷從該網格中獲得最大點數。有一些條件需要滿足——第一次遍歷從網格的左上角單元格開始,應該到左下角。 在第二次遍歷中,從右上角到右下角 從一個單元格,我們只能移動到當前單元格的底部、左下角和右下角。如果一次遍歷已經從一個單元格獲得一些點數,在下一次遍歷中將不會…閱讀更多
854 次瀏覽
在這個問題中,給定一組不同的箱子,不同箱子的長度、寬度和高度可能不同。我們的任務是找到這些箱子的堆疊,其高度儘可能高。我們可以隨意旋轉任何箱子。但是有一個規則需要遵守。如果底部箱子的頂部面積大於頂部箱子的底部面積,則可以在另一個箱子上放置一個箱子。輸入和輸出 輸入:給定一個箱子列表。每個箱子由 (長度,寬度,高度) 表示。{(4, 6, 7), …閱讀更多
4K+ 次瀏覽
Bellman-Ford 演算法用於查詢從源頂點到任何其他頂點的最小距離。此演算法與 Dijkstra 演算法的主要區別在於,在 Dijkstra 演算法中,我們無法處理負權重,但在這裡我們可以輕鬆地處理它。Bellman-Ford 演算法自下而上地查詢距離。首先,它找到路徑中只有一條邊的那些距離。之後增加路徑長度以找到所有可能的解決方案。輸入和輸出 輸入:圖的成本矩陣:0 6 ∞ 7 ∞ ∞ 0 5 8 -4 ∞ -2 0 ∞ ∞ ∞ …閱讀更多
540 次瀏覽
給定一個圖;我們必須檢查給定的圖是否是星形圖。透過遍歷圖,我們必須找到度數為 1 的頂點數和度數為 n-1 的頂點數。(這裡 n 是給定圖中的頂點數)。當度數為 1 的頂點數為 n-1,而度數為 (n-1) 的頂點數為 1 時,則它是一個星形圖。輸入和輸出 輸入:鄰接矩陣:0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 輸出:…閱讀更多
17K+ 次瀏覽
傳遞閉包是圖中從頂點 u 到達頂點 v 的可達性矩陣。給定一個圖,我們必須找到一個頂點 v,它可以從另一個頂點 u 到達,對於所有頂點對 (u, v)。最終矩陣是布林型別的。當頂點 u 到頂點 v 的值為 1 時,這意味著從 u 到 v 至少有一條路徑。輸入和輸出 輸入:1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 輸出:傳遞閉包矩陣 1 1 1 …閱讀更多
Ford-Fulkerson 演算法用於在一個給定圖中檢測從源頂點到匯頂點的最大流。在這個圖中,每條邊都有容量。提供了兩個頂點,名為源點和匯點。源點只有出邊,沒有入邊;匯點只有入邊,沒有出邊。存在一些約束條件:邊的流量不能超過該圖給定的容量。除了源點和匯點外,每條邊的流入流量和流出流量也必須相等。輸入和輸出輸入:鄰接矩陣:0 10 0 10 0 0 0 0 4 ... 閱讀更多