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
}
相关推荐
夏鹏今天学习了吗3 分钟前
【LeetCode热题100(52/100)】课程表
算法·leetcode·职场和发展
祁思妙想3 分钟前
【LeetCode100】--- 101.重排链表【思维导图+复习回顾】
算法·leetcode·链表
Dream it possible!15 分钟前
LeetCode 面试经典 150_链表_随机链表的复制(59_138_C++_中等)
c++·leetcode·链表
QX_hao5 小时前
【Go】--闭包
开发语言·golang
Dream it possible!10 小时前
LeetCode 面试经典 150_链表_合并两个有序链表(58_21_C++_简单)
leetcode·链表·面试·1024程序员节
脚踏实地的大梦想家11 小时前
【Go】P8 Go 语言核心数据结构:深入解析切片 (Slice)
开发语言·数据结构·golang
Tony Bai11 小时前
【Go 网络编程全解】13 从 HTTP/1.1 到 gRPC:Web API 与微服务的演进
开发语言·网络·http·微服务·golang
码农多耕地呗13 小时前
力扣226.翻转二叉树(java)
算法·leetcode·职场和发展
weixin_4209476414 小时前
golang使用泛型
golang·1024程序员节
py有趣15 小时前
LeetCode算法学习之合并区间
学习·算法·leetcode