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
}
相关推荐
互联网中的一颗神经元7 小时前
06. Small 对象分配:mcache 无锁路径
开发语言·golang
Nil2087 小时前
leetcode 98验证二叉搜索树
算法·leetcode·职场和发展
abcefg_h11 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
ylj_dev11 小时前
从 0 构建 AI Workload Platform(四):从单机工作流内核到可靠控制面
docker·postgresql·架构·golang
时针滴滴答啊11 小时前
最大子数组和
算法·leetcode·职场和发展
FfHUCisI12 小时前
Golang database/sql 标准库基础
数据库·sql·golang
重生之后端学习13 小时前
15. 三数之和[中等]✅
java·数据结构·算法·leetcode·职场和发展
北漂燕郊杨哥13 小时前
CAD Mini Viewer —— 一个纯 Go 编写的轻量 DXF 查看器
golang·cad·dxf·cadview
xcLeigh13 小时前
Go入门:基本数据类型全览与选择指南
android·服务器·golang·教程·go热门
圣殿骑士-Khtangc14 小时前
Go分布式锁实现方案从Redis到etcd的完整对比
golang