【发布时间】:2016-04-07 03:16:16
【问题描述】:
假设我们有两个文本输入。 “input1”是小说中的一页。 “input 2”是一个随机句子“How do you do?”。我需要验证这个输入 2 是否可以使用输入 1 中的单词来构造。对于这个问题,我能想出的唯一解决方案就是这样。
步骤 0: 创建一个布尔标志并将其值设置为 true。
步骤 1: 将第一个输入拆分为标记并将每个单词在哈希图中出现的次数存储。
第 2 步:将第二个输入拆分为令牌并遍历令牌。
step3:在循环内部,检查当前token是否存在于map中。如果不是,则将布尔标志设置为 false 并退出循环。如果是,请检查从 Map 返回的条目的值。如果为零,则将布尔标志设置为 false 并退出循环。如果值为 1 或更大,则将其减 1 并继续循环。
step4:循环完成后,返回布尔标志的值。
如您所见,如果输入量很大,步骤 1 和步骤 3 可能需要很长时间。解决这个问题的替代方法有哪些,可以有更好的运行时间?
【问题讨论】: