百度最新面试题:祖玛游戏思路详解

这是一篇关于祖玛游戏的解题分析,主要探讨如何通过最少的球插入来消除所有桌面的球。文章介绍了游戏规则,并提出搜索算法作为解决方案,详细解释了利用c数组统计球数,遍历board并判断插入位置,以及如何更新搜索状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是一个祖玛游戏。

一行球放在桌面上,球被涂上了红(R)、黄(Y)、蓝(B)、绿(G)和白(W)这么几种颜色,同时你也拥有几个球。

每一次,从你拥有的球当中拿出一个,插入到当前行当中(包括最左边和最右边)。然后,如果有三个或更多的同色球挨在一起,然后就消除这几个球。一直这么做直到没有更多的球可以消除。
找到最少的需要插入的球的数量,使得所有的球都可以被删除。如果不能删除所有的球,那么就返回-1。

  • 初始的行不会拥有三个及以上的连续的同色球。
  • 行中的球的数量不会超过20,用名为"borad"的输入字符串表示。
  • 你拥有的球不会超过5个,用名为"hand"的输入字符串表示。
  • 输入字符串都非空,而且仅包含字符 ‘R’,‘Y’,‘B’,‘G’,‘W’。

点这里可以在线做题

样例 1:

输入: "WRRBBW", "RB"
输出: -1
解释: WRRBBW -> WRR[R]BBW -> WBBW -> WBB[B]W -> WW

样例 2:

输入: "WWRRBBWW", "WRBRW"
输出: 2
解释: WWRRBBWW -> WWRR[R]BBWW -> WWBBWW -> WWBB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值