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 题解:除自身以外数组的乘积
算法·leetcode
YuTaoShao7 小时前
【LeetCode 每日一题】3010. 将数组分成最小总代价的子数组 I——(解法二)排序
算法·leetcode·排序算法
NBhhbYyOljP10 小时前
LabVIEW与西门子PLC S7200SMART 12001500 300 400
golang
Ll130452529811 小时前
Leetcode二叉树 part1
b树·算法·leetcode
我的golang之路果然有问题12 小时前
使用 Hugo + GitHub Pages + PaperMod 主题 + Obsidian 搭建开发博客
golang·go·github·博客·个人开发·个人博客·hugo
鱼跃鹰飞14 小时前
Leetcode:97.交错字符串
linux·服务器·leetcode
We་ct15 小时前
LeetCode 289. 生命游戏:题解+优化,从基础到原地最优
前端·算法·leetcode·矩阵·typescript
老鼠只爱大米15 小时前
LeetCode经典算法面试题 #230:二叉搜索树中第K小的元素(递归法、迭代法、Morris等多种实现方案详细解析)
算法·leetcode·二叉搜索树·二叉树遍历·第k小的元素·morris遍历
星期五不见面15 小时前
嵌入式学习!(一)C++学习-leetcode(21)-26/1/29
学习·算法·leetcode
珍珠是蚌的眼泪16 小时前
LeetCode_二叉树1
leetcode·二叉树·层序遍历·前序遍历·中序遍历·后续遍历