您将获得一个包含字符串列表的文件(每行一个).对字符串进行排序,然后使用未知的替换密码(例如a < c, b < r, c < d)进行加密.如何确定替换密码的映射是什么?未加密的字符串可以使用任何语言.
我想知道这个问题是否很难,我正在申请一个新的毕业生职位,我无法解决这个问题,而且他在这个问题上和我待了大约45分钟.
我猜关键的事实是字符串在加密之前已经排序,所以你根本不用担心语言.
我想到的第一个解决方案就是创建一个强力回溯算法,但这可能并不好.
我能想到的第二个解决方案是从文件中提取所有已知关系,例如.这个文件:
xtw
yaw
yay
Run Code Online (Sandbox Code Playgroud)
会告诉你x < y(因为xtw <yaw)和w < y(因为yaq <yay).在获得关系的有向图之后,您只需要在拓扑上对此图进行排序,您的解决方案就在那里.