算法面试题3:小猫钓鱼

您所在的位置:网站首页 扑克牌小猫钓鱼怎么玩儿 算法面试题3:小猫钓鱼

算法面试题3:小猫钓鱼

2024-07-03 22:51| 来源: 网络整理| 查看: 265

问题描述: 小哼和小哈在玩一个扑克游戏——小猫钓鱼。游戏规则:将一副扑克牌平均分成两份,每人拿一分。小哼先拿出手中第一张扑克牌放在桌上,然后小哈也拿出手中第一张扑克牌,并放在小哼刚才打出的扑克牌的上面,两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,可将两张相同的牌及其中间所夹的牌全部拿走,并依次放到自己手中牌的末尾。当任意一人手中当牌出完时,游戏结束,对方获胜。

算法问题分析 1、这个游戏一共有两种操作:出牌和赢牌。 出牌即数据结构“队列”的出队,赢牌即数据结构“队列”入队。

2、桌面相当于一个栈,出牌即入栈,赢牌即出栈。

3、通过枚举了解桌面有哪些牌,并找出与手中的牌相同的牌。 问题解题思路 1、定义两个队列q1、q2表示小哼、小哈手中的牌。

2、定义一个栈s表示桌面的牌

3、定义数组book记录桌面上已经出现的牌面

4、游戏开始时q1的队首出队,判断当前时是输牌还是赢牌

4.1如果是输牌,则入栈 4.2如果是赢牌,则q1的队首到队尾,再将赢得的牌依次入队

5、q2 的队首出队,操作同4

6、第4、5步重复进行直至任意人手中没有牌

7、输出赢的人手中的牌,输出此时桌面上的牌 代码示例

#include struct queue{ int data[1000]; int head; int hail; }; struct stack{ int data[10]; int top; }; int main(int argc, const


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3