程序员面试金典 - 面试题 17.25. 单词矩阵(Trie树+DFS回溯,hard)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 17.25. 单词矩阵(Trie树+DFS回溯,hard)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
給定一份單詞的清單,設計一個算法,創建由字母組成的面積最大的矩形,其中每一行組成一個單詞(自左向右),每一列也組成一個單詞(自上而下)。
不要求這些單詞在清單里連續出現,但要求所有行等長,所有列等高。
如果有多個面積最大的矩形,輸出任意一個均可。一個單詞可以重復使用。
示例 1: 輸入: ["this", "real", "hard", "trh", "hea", "iar", "sld"] 輸出: ["this","real","hard" ]示例 2: 輸入: ["aa"] 輸出: ["aa","aa"]說明: words.length <= 1000 words[i].length <= 100 數據保證單詞足夠隨機來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/word-rectangle-lcci
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
類似題目:LeetCode 425. 單詞方塊(Trie樹+DFS)
- 將所有單詞插入Trie樹
- 將單詞按長度分組,哈希map
- 從單詞長度最長組的開始遍歷,對每組單詞進行DFS搜索
- 利用Trie樹檢查是否合法,不合法回溯
- 有幾處優化見注釋,容易超時
總結
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 17.25. 单词矩阵(Trie树+DFS回溯,hard)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 457. 环形数组循环
- 下一篇: LeetCode 813. 最大平均值和