271 次瀏覽
給定一個二進位制矩陣,我們的任務是找到一個所有元素都為 1 的正方形矩陣。對於這個問題,我們將建立一個輔助大小矩陣,其階數與給定矩陣相同。這個大小矩陣將幫助表示,在每個條目 Size[i, j] 中,是所有元素都為 1 的正方形矩陣的大小。從該大小矩陣中,我們將獲得最大值以獲得最大正方形矩陣的大小。輸入和輸出輸入:二進位制矩陣。0 1 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 ... 閱讀更多
506 次瀏覽
給定一個鏈對。在每一對中,都有兩個整數,第一個整數總是較小的,第二個整數總是較大的,相同的規則也可以應用於鏈的構建。(x, y) 對只能在 (p, q) 對之後新增,只有當 q < x 時。為了解決這個問題,首先,我們必須按照第一個元素的遞增順序對給定的對進行排序。之後,我們將比較一對的第二個元素與下一對的第一個元素。輸入和輸出輸入:一個數字對鏈。 ... 閱讀更多
863 次瀏覽
最長迴文子序列是給定序列的子序列,並且該子序列是一個迴文。在這個問題中,給定一個字元序列,我們必須找到最長迴文子序列的長度。為了解決這個問題,我們可以使用遞迴公式,如果 L(0, n-1) 用於儲存最長迴文子序列的長度,則 L(0, n-1) := L(1, n-2) + 2(當第 0 個和第 (n-1) 個字元相同時)。輸入和輸出輸入:一個包含不同字母或符號的字串。假設輸入是“ABCDEEAB”輸出:最長迴文子序列的最長長度。這裡是 ... 閱讀更多
2K+ 次瀏覽
最長遞增子序列是一個子序列,其中一個專案大於其前一個專案。在這裡,我們將嘗試從一組整數中找到最長遞增子序列的長度。輸入和輸出輸入:一組整數。{0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15} 輸出:最長遞增子序列的長度。這裡是 6。子序列是 0, 2, 6, 9, 13, 15。演算法longestSubSeq(subarray, n)輸入- 子陣列和子陣列的大小。輸出- 最長遞增子序列長度。開始 定義大小為 n 的陣列 最初設定為 0 ... 閱讀更多
324 次瀏覽
給定一個包含不同字元的矩陣。從一個字元開始,我們必須透過遍歷所有大於當前字元的字元來找到最長路徑。字元是連續的。為了找到最長路徑,我們將使用深度優先搜尋演算法。在 DFS 期間,可能會出現一些子問題多次。為了避免一次又一次地計算,我們將使用動態規劃方法。輸入和輸出輸入:如上所示的矩陣。和起點。這裡的起點是 e。輸出:輸入起點 (a-i):e 最大連續路徑:5演算法findLongestLen(i, j, ... 閱讀更多
286 次瀏覽
如果一個序列先遞增後遞減,則稱該序列為雙調序列。在這個問題中,給定一個全為正整數的陣列。我們必須找到一個先遞增後遞減的子序列。為了解決這個問題,我們將定義兩個子序列,它們是最長遞增子序列和最長遞減子序列。LIS 陣列將儲存以 array[i] 結尾的遞增子序列的長度。LDS 陣列將儲存從 array[i] 開始的遞減子序列的長度。使用這兩個陣列,我們可以得到最長雙調子序列的長度。輸入和輸出輸入:一個 ... 閱讀更多
712 次瀏覽
給定一個整數陣列。我們必須找到所有連續元素的和,其和最大,這將作為輸出傳送。使用動態規劃,我們將儲存直到當前項的最大和。這將有助於找到陣列中連續元素的和。輸入和輸出輸入:一個整數陣列。{-2, -3, 4, -1, -2, 1, 5, -3} 輸出:子陣列的最大和為:7演算法maxSum(array, n)輸入- 主陣列,陣列的大小。輸出- 最大和。開始 tempMax := array[0] currentMax = tempMax for i := ... 閱讀更多
335 次瀏覽
獨立集是所有二叉樹節點的子集,當該子集中的任何兩個節點之間沒有邊時。現在,我們將從一組元素中找到最長的獨立集。即如果元素用於形成二叉樹,則所有最大子集,其中該子集中的任何元素都不相互連線。輸入和輸出輸入:一棵二叉樹。輸出:最大獨立集的大小為:5演算法longSetSize(root)在這個演算法中,將形成二叉樹,該樹的每個節點都將儲存資料和 setSize。輸入- 二叉樹的根節點。輸出- ... 閱讀更多
223 次瀏覽
讓我們考慮一下,我們將嘗試使用鍵盤編寫字母“A”。我們的目標是隻使用四個鍵並在文字欄位中嘗試編寫最大數量的“A”。這些鍵是“A”、“C”、“V”和“Ctrl”。為了編寫最大數量的 A,我們將使用 Ctrl + A 選擇全部,Ctrl + C 複製和 Ctrl + V 貼上。輸入和輸出輸入:按鍵次數,例如 7 輸出:使用 7 次按鍵可以獲得的最大 A 數量為:9 按三次 A。然後 Ctrl+A、Ctrl+C、Ctrl+V、Ctrl+V演算法keyNumbers(keyStrokes)輸入:按鍵次數。輸出:使用這些按鍵可以獲得的最大字母數量 ... 閱讀更多
斐波那契數列是這樣的,0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,……在這個序列中,第 n 項是第 (n-1) 項和第 (n-2) 項的和。為了生成,我們可以使用遞迴方法,但在動態規劃中,該過程更簡單。它可以使用表儲存所有斐波那契數,透過使用該表,它可以很容易地生成該序列中的下一項。輸入和輸出輸入:將項數作為輸入。假設它是 10 輸出:輸入項數:10 第 10 個斐波那契項:55演算法genFiboSeries(n)輸入:最大項數。輸出- 第 n 個斐波那契數 ... 閱讀更多