1823. 找出游戏的获胜者🔖递归

1823. 找出游戏的获胜者🔖递归

https://leetcode-cn.com/problems/find-the-winner-of-the-circular-game/递归问题:n问题可转位n-1形式的问题可终结12行代码是根据数学规律找出来的/** * @param {number} n * @param {num...

2022年5月4日
109字
6 阅读

递归问题:

  1. n问题可转位n-1形式的问题
  2. 可终结

12行代码是根据数学规律找出来的

/**
 * @param {number} n
 * @param {number} k
 * @return {number}
 */
var findTheWinner = function(n, k) {
    let arr = []
    for (let i = 0; i<n; i++) arr.push(i+1)
    let searchP = (arr, k, pre) => {
        if (arr.length > 1) {
            pre = k + pre - 1
            while (pre > arr.length-1) pre = pre - arr.length
            arr.splice(pre, 1)
            searchP(arr, k, pre)
        }
    }
    searchP(arr, k, 0)
    return arr[0]
};

文章评论区

欢迎留言交流

未登录,请先注册或登录后发表评论。

Leave comment