题目来源:
leetcode题目,网址:LCR 187. 破冰游戏 - 力扣(LeetCode)
解题思路:
假设第 x 轮有 k 个元素 0,1,2.......target-1,target,target+1,......k-1,k。删除第 target 个元素后,第 x+1 轮删除以target+1 为新序列首个元素的第 target 个元素。假设 第 x+1 删除元素所在位置 为 x,则 在第 x 轮其位置为 (target+x)%k。第 num 轮中,只剩下一个元素,要删除的元素就是所求的元素,因此 x-1>0 时递归关系为 f(x)=(f(x-1)+target)%x。
解题代码:
class Solution {
public:
int iceBreakingGame(int num, int target) {
return func(num,target);
}
int func(int num,int target){
if(num==1){
return 0;
}
int x=func(num-1,target);
return (target+x)%num;
}
};
总结:
没做出来,看官方题解的。