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

力扣(leetcode)每日一题 LCR 187 破冰游戏(还是考的约瑟夫环)

题干

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

示例 1:

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

示例 2:

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

题解
class Solution {public static int iceBreakingGame(int num, int target) {List<Integer> list = new ArrayList<>();for (int i = 0; i < num; i++) {list.add(i);}int index = 0;while (list.size() > 1) {index = (index + target - 1) % (list.size());list.remove(index);}return list.get(0);}}

这里的递归,又是不一样的。。。

class Solution {public static int iceBreakingGame(int num, int target) {return f(num, target);}public static int f(int num, int target) {if (num == 1) {return 0;}return (f(num - 1, target) + target) % num;}
}

http://www.mrgr.cn/news/31467.html

相关文章:

  • F28335中断系统
  • 第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)
  • Linux线程同步—竞态条件与互斥锁、读写锁(C语言)
  • PLC通信协议的转化
  • xhs 小红书 x-s web 分析
  • 如何下载ComfyUI开发版
  • SpringBoot开发-数据加密
  • Vue3DevTools7是如何在vscode定位指定文件位置的?
  • 浅谈穷举法
  • 【C/C++语言系列】实现单例模式
  • 在PyQt的QLabel控件上显示图像指南
  • 50.面向对象进阶训练-学生类
  • 达梦数据库踩坑
  • 线性规划中可行域为什么一定是凸的--证明
  • 前端框架对比选择:如何在众多技术中找到最适合你的
  • C++ 中noexcept关键字的含义和使用方法
  • shell脚本(9.20)
  • lettuce引起的Redis command timeout异常
  • 大数据新视界 --大数据大厂之AI 与大数据的融合:开创智能未来的新篇章
  • sql中的union与union all区别