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;
}
相关推荐
叫我辉哥e17 小时前
### 技术文章大纲:C语言造轮子大赛
c语言·开发语言
TracyCoder1238 小时前
LeetCode Hot100(15/100)——54. 螺旋矩阵
算法·leetcode·矩阵
进击的小头11 小时前
行为型模式:策略模式的C语言实战指南
c语言·开发语言·策略模式
爱编码的小八嘎11 小时前
C语言对话-5.通过任何其他名字
c语言
weixin_4454766812 小时前
leetCode每日一题——边反转的最小成本
算法·leetcode·职场和发展
打工的小王12 小时前
LeetCode Hot100(一)二分查找
算法·leetcode·职场和发展
Swift社区12 小时前
LeetCode 385 迷你语法分析器
算法·leetcode·职场和发展
定偶13 小时前
C语言入门指南
c语言·开发语言
期末考复习中,蓝桥杯都没时间学了13 小时前
力扣刷题10
算法·leetcode·职场和发展
的卢马飞快14 小时前
【C语言进阶】给数据一个“家”:从零开始掌握文件操作
c语言·网络·数据库