C语言 | Leetcode C语言题解之第390题消除游戏

题目:

题解:

cpp 复制代码
int lastRemaining(int n) {
    int a1 = 1;
    int k = 0, cnt = n, step = 1;
    while (cnt > 1) {
        if (k % 2 == 0) { // 正向
            a1 = a1 + step;
        } else { // 反向
            a1 = (cnt % 2 == 0) ? a1 : a1 + step;
        }
        k++;
        cnt = cnt >> 1;
        step = step << 1;
    }
    return a1;
}
相关推荐
小白程序员成长日记28 分钟前
2025.11.07 力扣每日一题
数据结构·算法·leetcode
·白小白30 分钟前
力扣(LeetCode) ——209. 长度最小的子数组(C++)
c++·算法·leetcode
雾岛听蓝1 小时前
算法复杂度解析:时间与空间的衡量
c语言·数据结构·经验分享·笔记
小白程序员成长日记1 小时前
2025.11.08 力扣每日一题
算法·leetcode·职场和发展
Nebula_g2 小时前
C语言应用实例:学生管理系统1(指针、结构体综合应用,动态内存分配)
c语言·开发语言·学习·算法·基础
laocooon5238578862 小时前
C语言 有关指针,都要学哪些内容
c语言·数据结构·算法
他们叫我一代大侠3 小时前
Leetcode :模拟足球赛小组各种比分的出线状况
算法·leetcode·职场和发展
Nebula_g3 小时前
C语言应用实例:硕鼠游戏,田忌赛马,搬桌子,活动选择(贪心算法)
c语言·开发语言·学习·算法·游戏·贪心算法·初学者
QT 小鲜肉3 小时前
【Git、GitHub、Gitee】按功能分类汇总Git常用命令详解(超详细)
c语言·网络·c++·git·qt·gitee·github
海琴烟Sunshine4 小时前
leetcode 345. 反转字符串中的元音字母 python
python·算法·leetcode