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;
    }
};
相关推荐
rainbow68899 小时前
EffectiveC++入门:四大习惯提升代码质量
c++
秋邱10 小时前
用 Python 写出 C++ 的性能?用CANN中PyPTO 算子开发硬核上手指南
开发语言·c++·python
我在人间贩卖青春10 小时前
C++之析构函数
c++·析构函数
我在人间贩卖青春10 小时前
C++之数据类型的扩展
c++·字符串·数据类型
wangjialelele11 小时前
平衡二叉搜索树:AVL树和红黑树
java·c语言·开发语言·数据结构·c++·算法·深度优先
苏宸啊11 小时前
C++栈和队列
c++
森G11 小时前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
橘颂TA12 小时前
【测试】高效浏览器操作:基础功能与优化设置大全
c++·功能测试·职场和发展·测试·web测试
一只小小的芙厨12 小时前
寒假集训笔记·以点为对象的树形DP
c++·算法
历程里程碑12 小时前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado