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;
    }
};
相关推荐
Alfred king1 小时前
面试150 生命游戏
leetcode·游戏·面试·数组
水木兰亭1 小时前
数据结构之——树及树的存储
数据结构·c++·学习·算法
CoderCodingNo2 小时前
【GESP】C++四级考试大纲知识点梳理, (7) 排序算法基本概念
开发语言·c++·排序算法
秋风&萧瑟4 小时前
【C++】C++中的友元函数和友元类
c++
梁诚斌4 小时前
使用OpenSSL接口读取pem编码格式文件中的证书
开发语言·c++
薰衣草23337 小时前
一天两道力扣(1)
算法·leetcode·职场和发展
爱coding的橙子8 小时前
每日算法刷题Day41 6.28:leetcode前缀和2道题,用时1h20min(要加快)
算法·leetcode·职场和发展
2301_803554528 小时前
c++中的绑定器
开发语言·c++·算法
海棠蚀omo8 小时前
C++笔记-位图和布隆过滤器
开发语言·c++·笔记
消失的旧时光-19439 小时前
c++ 的标准库 --- std::
c++·jni