【发布时间】:2015-08-30 02:27:35
【问题描述】:
这是一个面试问题,我自己无法解决。谁能给她点灯?
问题:假设您有聊天客户端,在文本框中您有一个笑脸(它已经存在)。现在你想要那个笑脸 N 次,并且只允许复制和粘贴两个操作。结果必须是 N 个笑脸,不多不少。复制基本上是^a + ^c。您总是必须在给定时间复制文本框中的所有笑脸。复制是一键,粘贴是一键。为这个问题写一个算法/程序。复杂度会是多少?
【问题讨论】:
-
类似于Maximum number of characters using keystrokes A, Ctrl+A, Ctrl+C and Ctrl+V。也许你可以应用那里的一些逻辑来在这里做出努力。
-
更正式地说,是否准确地说我们以
result = ":)"; clipboard = "";开头,复制为clipboard = result;,粘贴为result += clipboard;? -
@KenWhite 这些问题表面上很相似,但解决技术与在相似状态空间上的动态规划没有太多共同点。
-
@David:是的,我知道它们只是相似的,这就是为什么我没有投票关闭作为重复。解决它们的思维过程是相似的(虽然不一样,很明显)IMO。 (这绝对是一个更好的起点,而不是在这里发布问题并等待其他人为您解答。)
-
@DavidEisenstat:是的。
标签: algorithm