Advertisement
jorupp

https://leetcode.com/problems/find-the-winner-of-the-circular-game

Mar 16th, 2023
711
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function findTheWinner(n: number, k: number): number {
  2.     // [1, 2, ...., n]
  3.     const friends = [...new Array(n)].map((_, ix) => ix + 1);
  4.     let target = -1; // k=1 needs to pick the first friend, so we start before them
  5.     for(var i=n; i > 1; i--) {
  6.         target = (target + k) % friends.length; // increment and wrap
  7.         friends.splice(target, 1); // remove the target
  8.         target -= 1; // k=1 needs to pick the friend who just filled in the spot we vacated
  9.     }
  10.     return friends[0];
  11. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement