给定一个数字n,找出1到n(含n)中,经过淘汰后最终剩下到数字。淘汰到规则是:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。
重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。
不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。
【示例】
输入:9
输出:6
解释:1,2,3,4,5,6,7,8,9中,第一轮淘汰1、3、5、7、9后剩下2、4、6、8,第二轮淘汰4、8剩下2、6,第三轮淘汰2,所以最终结果是6
题目难度:简单
题目来源:CodeWars-Last man standing
def solution(num: int)-> int:
# your code here
assert solution(9) == 6
assert solution(100) == 54
assert solution(1000) == 510