class Solution {
public:
int lastRemaining(int n) {
}
};
390. 消除游戏
列表 arr
由在范围 [1, n]
中的所有整数组成,并按严格递增排序。请你对 arr
应用下述算法:
给你整数 n
,返回 arr
最后剩下的数字。
示例 1:
输入:n = 9 输出:6 解释: arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] arr = [2, 4, 6, 8] arr = [2, 6] arr = [6]
示例 2:
输入:n = 1 输出:1
提示:
1 <= n <= 109
原站题解
python3 解法, 执行用时: 40 ms, 内存消耗: 14.8 MB, 提交时间: 2021-05-25 14:39:52
class Solution: def lastRemaining(self, n: int) -> int: return 1 if n == 1 else 2*(n//2 - self.lastRemaining(n//2) + 1)