Golang | Leetcode Golang题解之第390题消除游戏

题目:

题解:

Go 复制代码
func lastRemaining(n int) int {
    a1 := 1
    k, cnt, step := 0, n, 1
    for cnt > 1 {
        if k%2 == 0 { // 正向
            a1 += step
        } else { // 反向
            if cnt%2 == 1 {
                a1 += step
            }
        }
        k++
        cnt >>= 1
        step <<= 1
    }
    return a1
}
相关推荐
元亓亓亓5 分钟前
LeetCode热题100--5. 最长回文子串--中等
linux·算法·leetcode
千金裘换酒10 分钟前
LeetCode 环形链表+升级版环形链表
算法·leetcode·链表
源代码•宸35 分钟前
Golang基础语法(go语言结构体、go语言数组与切片、go语言条件句、go语言循环)
开发语言·经验分享·后端·算法·golang·go
空空潍1 小时前
hot100-滑动窗口最大值(day11)
数据结构·c++·算法·leetcode
朔北之忘 Clancy1 小时前
2025 年 6 月青少年软编等考 C 语言一级真题解析
c语言·开发语言·c++·学习·算法·青少年编程·题解
iAkuya2 小时前
(leetcode)力扣100 35 LRU 缓存(双向链表&哈希)
leetcode·链表·缓存
IT=>小脑虎2 小时前
2026版 Go语言零基础衔接进阶知识点【详解版】
开发语言·后端·golang
谧小夜2 小时前
Visual Studio Code中实现Go语言自动导包教程
ide·vscode·golang
源代码•宸2 小时前
Golang基础语法(go语言指针、go语言方法、go语言接口、go语言断言)
开发语言·经验分享·后端·golang·接口·指针·方法
Bony-2 小时前
Golang 常用工具
开发语言·后端·golang