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;
    }
};
相关推荐
doll ~CJ9 分钟前
基于QVTKOpenGLNativeWidget的三维点云可视化实现
c++·qt·软件开发·三维点云可视化
共享家952722 分钟前
经典动态规划题解
算法·leetcode·动态规划
42fourtytoo1 小时前
天津大学智算2026预推免机试第二批题目及代码c++
开发语言·c++·面试
子豪-中国机器人1 小时前
枚举算法和排序算法能力测试
开发语言·c++·算法
1白天的黑夜12 小时前
栈-844.比较含退格的字符串-力扣(LeetCode)
c++·leetcode·
林夕忆梦_猫3 小时前
初识C++
开发语言·c++
chxin140163 小时前
openCV3.0 C++ 学习笔记补充(自用 代码+注释)---持续更新 四(91-)
c++·opencv·计算机视觉
lightqjx3 小时前
【C++】string类 模拟实现
java·开发语言·c++
青草地溪水旁3 小时前
C/C++ 标准库中的 `strspn` 函数
c语言·c++
minji...3 小时前
C++ list的模拟实现
开发语言·c++·list