楼主: 流星无痕
跳转到指定楼层
上一主题 下一主题
收起左侧

谷歌onsite

🔗
 楼主| 流星无痕 2018-8-23 12:36:33 | 只看该作者
全局:
fropen 发表于 2018-8-23 10:59
第三轮,不搜索,怎么做?输入是  int[][] grid, int[][] querys?

输入是List<Flower> flowers, int[] query (一次一个query)
不搜索的话直接对每个花花可以算出它在query点的芳香值啊
回复

使用道具 举报

🔗
edu 2018-8-23 13:24:37 | 只看该作者
全局:
流星无痕 发表于 2018-8-23 12:34
对 就是这么平凡的设定哈哈哈

如果走直线,不就是判读一下  1)终点是否在这条线上;2)线的中间有没有其它车挡住?
回复

使用道具 举报

🔗
wuyifu00 2018-8-23 13:47:00 | 只看该作者
全局:
第一题是sliding puzzle, 利口上的题吧
回复

使用道具 举报

🔗
 楼主| 流星无痕 2018-8-23 13:49:43 | 只看该作者
全局:
edu 发表于 2018-8-23 13:24
如果走直线,不就是判读一下  1)终点是否在这条线上;2)线的中间有没有其它车挡住?

其他的车也可以走的!
回复

使用道具 举报

🔗
edu 2018-8-23 13:51:00 | 只看该作者
全局:
流星无痕 发表于 2018-8-23 12:36
输入是List flowers, int[] query (一次一个query)
不搜索的话直接对每个花花可以算出它在query点的芳香 ...

这个题,我的想法是 1)对花花按芳香值从大到小排序;2)(按从大到小的顺序)计算花花在每个grid的芳香值;3)计算grid芳香值是以每个花为中心,向外BFS,一旦发现grid已有芳香值已经大于这朵搜索花在这个grid的芳香值,就停止搜索。
回复

使用道具 举报

🔗
 楼主| 流星无痕 2018-8-23 13:53:54 | 只看该作者
全局:
wuyifu00 发表于 2018-8-23 13:47
第一题是sliding puzzle, 利口上的题吧

差不多,只不过汽车比起puzzle是有长度的,原理一样 都是建图用搜索来做。还有就是最后的状态只要判断给定的车车在那里就行了
回复

使用道具 举报

🔗
 楼主| 流星无痕 2018-8-23 14:04:13 | 只看该作者
全局:
edu 发表于 2018-8-23 13:51
这个题,我的想法是 1)对花花按芳香值从大到小排序;2)(按从大到小的顺序)计算花花在每个grid的芳香 ...

不用搜索啊。直接使用公式Math.max(0, S - R * (Math.abs(xf - xq) + Math.abs(yf - yq))) 就好了 其中S是这朵花的原始香气,R是减弱速率,Math.abs(xf - xq) + Math.abs(yf - yq)这是曼哈顿距离。对于每朵花更新整个board每次取max就好了!Ta-da!
回复

使用道具 举报

🔗
edu 2018-8-24 07:21:58 | 只看该作者
全局:
流星无痕 发表于 2018-8-23 14:04
不用搜索啊。直接使用公式Math.max(0, S - R * (Math.abs(xf - xq) + Math.abs(yf - yq))) 就好了 其中S ...

这样做的时间复杂度是:O(花的数量 * 网格数量)。但从花出发的搜索算法,时间复杂度要小于这个,因为对于每朵花,不用搜索全部网格。我认为。
回复

使用道具 举报

🔗
carol987 2018-8-24 08:18:47 | 只看该作者
全局:
感谢楼主分享,楼主几年经验呢,没有design题?
回复

使用道具 举报

🔗
fanqielee 2018-8-26 05:21:45 | 只看该作者
全局:
请问楼主在哪个site面的?
回复

使用道具 举报

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

本版积分规则

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