每日一题——找出游戏的获胜者

简介: 每日一题——找出游戏的获胜者

1823. 找出游戏的获胜者

题目描述:

题解:

func findTheWinner(n int, k int) int {
  // eg:n=5 friends = [1,2,3,4,5] 里面的值就是第几个小朋友
  friends := make([]int, n)
  for i := 0; i < len(friends); i++ {
    friends[i] = i + 1
  }
  // 指针
  p := 0
  for {
    // 如果只剩1人,就是赢家
    if len(friends) == 1 {
      return friends[0]
    }
    // 循环队列,指向k-1个后的小盆友(k-1是因为计数时需要包含起始时的那位小伙伴)
    p = (p + k - 1) % len(friends)
    // 指导谁,谁输
    friends = append(friends[0:p], friends[p+1:]...)
  }
}

提交结果:

相关文章
|
5月前
|
算法
力扣经典150题第三十八题:生命游戏
力扣经典150题第三十八题:生命游戏
35 0
|
6月前
|
存储
每日一题——leetcode682.棒球比赛
每日一题——leetcode682.棒球比赛
|
6月前
滑雪(蓝桥模拟赛的题)
滑雪(蓝桥模拟赛的题)
54 0
|
11月前
滑雪(也是蓝桥模拟赛的题)
和蓝桥杯模拟赛的最大连通过差不多一个思想
47 0
|
定位技术
国庆七天乐,要猛! ——经典迷宫问题
国庆七天乐,要猛! ——经典迷宫问题
83 0
|
机器学习/深度学习 存储
LeetCode——1823. 找出游戏的获胜者
LeetCode——1823. 找出游戏的获胜者
137 0
LeetCode——1823. 找出游戏的获胜者
|
项目管理
第321场周赛赛后总结(前三题)+记录一道有意思的题目
前言 今天早上可能是浏览器出了点故障,一直没法打开力扣官网页面(但别的页面没问题)(别人都能进说明不是官网服务器的问题咯),错过了周赛(不过就算按时参加估计也是陪跑,就先这么安慰自己了),下午发现能进去了,赶紧找个时间补了一下题。
123 0
|
机器学习/深度学习 自然语言处理 算法
每日算法系列【LeetCode 289】生命游戏
根据当前状态,写一个函数来计算面板上细胞的下一个(一次更新后的)状态。下一个状态是通过将上述规则同时应用于当前状态下的每个细胞所形成的,其中细胞的出生和死亡是同时发生的。
213 0
每日算法系列【LeetCode 289】生命游戏
|
存储 测试技术
力扣第 287 场周赛 :输掉零场或一场比赛的玩家
给你一个整数数组 matches 其中 matches[i] = [winneri, loseri] 表示在一场比赛中 winneri 击败了 loseri 。
176 0
力扣第 287 场周赛 :输掉零场或一场比赛的玩家