简单序列分组算法详解:从扑克牌分发问题到通用解决方案
创作时间:
作者:
@小白创作中心
简单序列分组算法详解:从扑克牌分发问题到通用解决方案
引用
CSDN
1.
https://blog.csdn.net/sinat_39215814/article/details/136972247
本文将通过一个简单的扑克牌分发问题,详细讲解序列分组的基本思路和算法实现。这个问题虽然简单,但通过深入分析,可以帮助我们理解序列分组背后的逻辑推理过程。
问题描述
现有一副扑克牌,需要按顺序轮流发给三个玩家,编写算法实现这一过程。
分析思路
首先我们将扑克牌放进一个数组,数组从1开始,每个数字代表一张牌,如下:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, ……, 54 ]我们截取一个片段来分析它的规律,后再同步到整个数组,如下:
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]假设三名玩家分别为A,B,C,我们可以观察到这样的结果:
- A玩家获得的牌为:1, 4, 7, 10
- B玩家获得的牌为:2, 5, 8
- C玩家获得的牌为:3, 6, 9
- 为了更加清晰,我们将他们分别提取出来:
- A[1, 4, 7, 10]
- B[2, 5, 8]
- C[3, 6, 9]
- 我们先来看A玩家的牌的规律:
- 因为我们有三个玩家,每一轮都要发出三张牌之后才可以进入下一轮,那么A玩家总是每一轮的第一张牌,也就是每一轮(3张发完)结束后的下一张牌。
- 那么我们可以得到A玩家手牌的规律为:
[ 1, 3+1, 3+3+1, 3+3+3+1 ],也就是[ 3 x 0 +1, 3 x 1 +1, 3 x 2 +1, 3 x 3 +1 ],简化一下可以得到A[ 3n + 1 ]。
- 同理B玩家的规律为:
[ 2, 3+2, 3+3+2 ],[ 3 x 0 +2, 3 x 1 +2, 3 x 2 +2, 3 x 3 +2 ],简化后得到B[ 3n +2 ]。
- C玩家的规律为:
[3,3+3,3+3+3],[ 3 x 0 +3, 3 x 1 +3, 3 x 2 +3 ],简化得C[ 3n + 3],再合并一下得C[ 3(n + 1) ]。
- 这个时候我们就得到了:
- A玩家的规律:
A[ 3n + 1 ] - B玩家的规律:
B[ 3n +2 ] - C玩家的规律:
C[ 3n + 3]/C[ 3(n + 1) ]
- 他们三者共有的部分都是
+ 3n,我们把这个共有的部分去掉就能够得到每个玩家独有的特点。在数学里,3n代表了可以被3整除,而后面多出来的部分就成了除不尽剩下的余数,于是我们就得到了下面的规律:
- A =
(3n + 1) % 3 = 1 - B =
(3n + 2) % 3 = 2 - C =
(3n + 3) % 3 = 0
- 那么,一个从1开始的数组,我们就可以这样去分配(注意循环设定从1开始):
- 但是计算机里数组的索引都是从0开始的,所以我们反直觉的要将所有的排号往前退一位,也就是余数都减去1,得:
- A =
(3n + 0) % 3 = 0 - B =
(3n + 1) % 3 = 1 - C =
(3n + 2) % 3 = 2
- 最后算法得代码就变成了这样:
结论
要将一个序列按顺序分发给N个组,就除以N取余获得每一个元素所属得分组,在计算机里面分的话,记得第一个位置是0索引,所以余数也得往前退1。
热门推荐
清肺热中药:麻黄、桑白皮等五种药材的功效与应用
比亚迪造水平对置发动机,保时捷和斯巴鲁的天塌了?
蔡琴:用半生苦难熬煮一首温柔,她的歌声里藏着多少未说出口的伤
六大常见技术指标是什么?全面了解技术分析指标
新冠阳性后,嗓子“吞刀片”的快来!缓解咽痛的5个方法,一次打包给你
中国传统的八字命理学、《八字命理揭秘:解码人生运势之谜》
解读秋思古诗,穿越时空的情感共鸣
玄武是什么颜色?从古代神话到现代解读,带你揭开玄武色彩背后的秘密
银行的信用卡发卡审核标准对用户获取难度的影响?
《怪物猎人:崛起》Steam家庭共享试玩全攻略:轻松解锁免费试玩新方式
灵魂或许真存在:很多人都梦见亲人来看他
如何选择专业的进出口报关代理服务
摩托车保养全攻略:延长寿命、提升性能的实用技巧与注意事项
西红柿开花后多久结果成熟?西红柿怎么种植?
网络安全如何反间谍管理
绿色农业的助推器:硫酸镁在提高作物产量和质量中的作用
麻醉医生活用硫酸镁的几点建议
运动减肥却越减越肥背后原因及对策
Steam平台34款本地同屏双人游戏推荐
干细胞与CGF:皮肤再生的潜力探索
翡翠衾(nph)是什么?揭秘网络文学中的情感纠葛与人物成长的魅力
固态硬盘分区教程工具大全:12款工具详解与使用指南
移动硬盘合并分区教程(通过合并分区,释放无用空间,提升移动硬盘利用率)
这几个健康生活方式,能让你延寿
如何在服务器上配置安全更新
脸上的毛可以刮吗?会不会越来越粗?
IMDb最高分排名Top15電影推薦
如果被威胁了怎么办才能立案
水凝胶系列科普一:“明星”材料——水凝胶简介
行在上学路 如何更安心