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

题目:

题解:

cpp 复制代码
class Solution {
public:
    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;
    }
};
相关推荐
skyang.3 小时前
LeetCode 85. 最大矩形
算法·leetcode·职场和发展
滋滋不吱吱3 小时前
枚举中间位置基础篇
考研·算法·leetcode
遇见尚硅谷4 小时前
C语言:20250728学习(指针)
c语言·开发语言·数据结构·c++·笔记·学习·算法
☆璇4 小时前
【C++】C/C++内存管理
c语言·开发语言·c++
铭哥的编程日记5 小时前
《C++ list 完全指南:从基础到高效使用》
开发语言·c++·list
岁忧5 小时前
(LeetCode 面试经典 150 题 ) 155. 最小栈 (栈)
java·c++·算法·leetcode·面试·go
铭哥的编程日记8 小时前
《C++继承详解:从入门到理解公有、私有与保护继承》
c++
qq_513970448 小时前
力扣 hot100 Day58
算法·leetcode
qq_433554548 小时前
C++ 哈希算法、贪心算法
开发语言·c++·哈希算法
CYRUS_STUDIO8 小时前
动态篡改 so 函数返回值:一篇带你玩转 Android Hook 技术!
android·c++·逆向