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
}
相关推荐
毅炼14 小时前
hot100打卡——day17
java·数据结构·算法·leetcode·深度优先
Tisfy14 小时前
LeetCode 3010.将数组分成最小总代价的子数组 I:排序 OR 维护最小次小
算法·leetcode·题解·排序·最小次小值
草履虫建模15 小时前
力扣算法 121. 买卖股票的最佳时机
算法·leetcode·职场和发展·贪心算法·动态规划·一次遍历
爱尔兰极光16 小时前
LeetCode--有序数组的平方
算法·leetcode·职场和发展
haluhalu.16 小时前
LeetCode---基础算法刷题指南
数据结构·算法·leetcode
iAkuya16 小时前
(leetcode)力扣100 58组合总和(回溯)
算法·leetcode·职场和发展
bing.shao16 小时前
Golang 开发者视角:解读《“人工智能 + 制造” 专项行动》的技术落地机遇
人工智能·golang·制造
ONE_PUNCH_Ge16 小时前
Go 语言泛型
开发语言·后端·golang
爱尔兰极光16 小时前
LeetCode--移除元素
算法·leetcode·职场和发展
苦藤新鸡17 小时前
51.课程表(拓扑排序)-leetcode207
数据结构·算法·leetcode·bfs