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
}
相关推荐
r***F26232 分钟前
Go-Gin Web 框架完整教程
前端·golang·gin
k***858433 分钟前
【Golang】——Gin 框架中间件详解:从基础到实战
中间件·golang·gin
z***677735 分钟前
【Golang】——Gin 框架中的表单处理与数据绑定
microsoft·golang·gin
云里雾里!7 小时前
力扣 977. 有序数组的平方:双指针法的优雅解法
算法·leetcode·职场和发展
r***F2629 小时前
【漏洞复现】CVE-2019-11043(PHP远程代码执行漏洞)信息安全论文_含漏洞复现完整过程_含Linux环境go语言编译环境安装
linux·golang·php
a***560612 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
Dream it possible!13 小时前
LeetCode 面试经典 150_二叉搜索树_二叉搜索树中第 K 小的元素(86_230_C++_中等)
c++·leetcode·面试
sin_hielo13 小时前
leetcode 2872
数据结构·算法·leetcode
Booksort15 小时前
【LeetCode】算法技巧专题(持续更新)
算法·leetcode·职场和发展
小白程序员成长日记15 小时前
力扣每日一题 2025.11.28
算法·leetcode·职场和发展