当前位置: 首页 > news >正文

LCR 187. 破冰游戏(python3解法)

难度:简单

        社团共有 num 位成员参与破冰游戏,编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。社长抽取一个数字 target,从 0 号成员起开始计数,排在第 target 位的成员离开圆桌,且成员离开后从下一个成员开始计数。请返回游戏结束时最后一位成员的编号。

示例 1:

输入:num = 7, target = 4
输出:1

示例 2:

输入:num = 12, target = 5
输出:0

提示:

  • 1 <= num <= 10^5
  • 1 <= target <= 10^6

题解:

class Solution:
    def iceBreakingGame(self, num: int, target: int) -> int:
        # 创建初始列表  
        people = list(range(num))  
        # 当前索引  
        current = 0  
        # 只剩一个人时停止  
        while len(people) > 1:  
            # 计算要删除的索引  
            # current 是当前起始位置  
            # 往后数 target 个人  
            current = (current + target - 1) % len(people)  
            # 删除对应位置的成员  
            people.pop(current)  
            # 注意:删除后,下一轮从当前位置开始  
            # 不需要额外移动索引,因为pop已经改变了列表  
        
        # 返回最后剩下的成员编号  
        return people[0] 
        

相关文章:

  • 坦克大战(c++)
  • 第二章 EXI协议原理与实现--9.5 cjson库介绍
  • NLP高频面试题(十四)——DPO、PPO等强化学习训练方法介绍
  • 【Altium Designer】铜皮编辑
  • 信息安全和病毒防护——安全协议关于SSL和TLS协议的补充说明
  • 【AVRCP】GOEP互操作性深度解析:蓝牙封面艺术传输的技术实现与演进
  • 数据结构八股
  • PRC框架(以Dubbo为例),分布式事务解决方案
  • React(四)setState原理-性能优化-ref
  • GPT-4 and ChatGPT Essentials
  • 关于“会议视频人脸情绪识别系统”的功能设计方案示例
  • 深入理解C语言数据结构之快速排序三路划分
  • MQ 消息持久化方案
  • Android 静态壁纸设置实现方案
  • 应用服务接口第二次请求一直pending问题
  • 网络故障排查
  • C++学习之路,从0到精通的征途:string类
  • 23种设计模式中的策略模式
  • 深入解析 Spring 启动过程
  • 借助可视化,快速洞察数据背后的商机
  • 工人日报评规范隐藏式车门把手:科技美学须将安全置顶
  • 万科:存续债券均正常付息兑付
  • 中美日内瓦经贸会谈联合声明
  • 7月打卡乐高乐园,还可以去千年古镇枫泾参加这个漫画艺术季
  • 江苏省委社会工作部部长等多人拟在省志愿服务联合会任职
  • 巴总理召开国家指挥当局紧急会议