📣 4th of July限时特惠: VIP通行证立减$68
查看: 1864| 回复: 3
跳转到指定楼层
上一主题 下一主题
收起左侧

来请教一道算法题

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
给定一个句子, 和若干个搜索词, 求包含所有搜索词的最短句子长度.

例子:

Badmin was able to beat Bill at billiards, but Bill always beat Badmin badly at badminton.

给定搜索词: Query = [Badmin, Bill, beat]
返回 4. 因为子句(Bill always beat Badmin)是包含Query中所有单词的最短子句.

提示: 可以将子句看成倒排的形式如:

"Badmin" = [0, 12]
"Bill" = [5, 9]
"beat" = [4, 11]
其中倒排中的每个index是递增的, 可以利用这点剪枝(?)

这是我面试遇到的问题, 我只想到了暴力解, 就是用dfs枚举所有. 希望大家提供更好的解

上一篇:dynamic programming
下一篇:求助两道facebook的面试题(大米回报)

本帖被以下淘专辑推荐:

🔗
Toby 2016-8-12 15:20:11 | 只看该作者
全局:
这不和minimum window substring一样吗? 还是我理解错题意了
回复

使用道具 举报

🔗
 楼主| anthonysyhuang 2016-8-12 15:25:41 | 只看该作者
全局:
Toby 发表于 2016-8-12 15:20
这不和minimum window substring一样吗? 还是我理解错题意了

是一样的! 因为我没刷hard的题所以没见过..悲催了..
回复

使用道具 举报

🔗
chaosMonkey 2016-8-28 12:13:41 | 只看该作者
全局:
我觉得这样是不是可以:
就拿上题举例,获得每个单词的倒排数组后,分别用三个索引遍历这三个倒排数组,每次都计算当前所指向的三个元素的最大值和最小值之间的差值,并向后移动指向最小元素的索引,都遍历后所有差值的最小值就是题解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表