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;
}
相关推荐
鹿鹿学长4 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
伴杯猫4 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
Want5956 小时前
C/C++圣诞树①
c语言·开发语言·c++
l1t8 小时前
轻量级XML读写库Mini-XML的编译和使用
xml·c语言·解析器
小莞尔9 小时前
【51单片机】【protues仿真】基于51单片机停车场的车位管理系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
xianyinsuifeng10 小时前
Oracle 10g → Oracle 19c 升级后问题解决方案(Pro*C 项目)
c语言·数据库·oracle
学c语言的枫子10 小时前
数据结构——双向链表
c语言·数据结构·链表
3壹12 小时前
数据结构精讲:栈与队列实战指南
c语言·开发语言·数据结构·c++·算法
etcix13 小时前
dmenux.c: integrate dmenu project as one file
c语言·前端·算法
共享家952713 小时前
优先搜索(DFS)实战
算法·leetcode·深度优先