Given a dictionary of millions of words, give an algorithm to find the largest possible rectangle of letters such that every row forms a word (reading left to right) and every column forms a word (reading top to bottom).
首先确定可能组成的最大矩形面积z,就是最长单词的平方。
然后
for (z = max_rectangle to 1)
for each pair of number (i,j) , where i*j = z
下面就是搜索的过程
主要原理就是,取得长度为i的单词列表当做行,拿长度为j的单词列表当做列
就是一个队长度为i的单词列表的一个组合,使得列也能组成长度为j的单词,
长度为j的单词列表就可以用trie或者map存储
本文介绍了一种寻找由单词构成的最大字母矩形的算法。该算法先确定可能的最大矩形面积,即最长单词的平方,然后通过遍历可能的长宽组合来查找满足条件的最大矩形。
3966

被折叠的 条评论
为什么被折叠?



