这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战
俄罗斯轮盘赌的基本思想
俄罗斯轮盘赌(Russian roulette)是一种残忍的赌博游戏。俄罗斯轮盘赌的赌具是左轮手枪]和人的性命。俄罗斯轮盘赌的规则很简单:在左轮手枪的六个弹槽中放入一颗或多颗子弹,任意旋转转轮之后,关上转轮。游戏的参加者轮流把手枪对着自己的头,扣动板机;中枪的当然是自动退出,怯场的也为输,坚持到最后的就是胜者。
只要运气不好,每次都会第一次找到。
步骤
俄罗斯轮盘赌的核心在于装入子弹之后任意旋转转轮,增加了随机性。
- 根据随机数生成开始的下标,并进行标记。
- 从标记处开始循环顺序查找。
- 直到循环一遍还未找到则停止。
算法代码
1 | c++复制代码#include <iostream> |
算法性能分析
- 空间复杂度:O(1)O(1)O(1)
- 时间复杂度
- 最好情况下时间复杂度:O(1)O(1)O(1)
- 最坏情况下时间复杂度:O(n)O(n)O(n)
本文转载自: 掘金