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