func lastRemaining(n int) int { // 1 2 3 4 5 6 -> 2 4 6 -> 2 * (1 2 3) -> 2 * (n/2 + 1 - remaining) if n == 1 { return 1 } return 2 * (n/2 + 1 - lastRemaining(n/2)) }