Leetcode 390 消除遊戲 遞迴

2021-09-05 11:34:31 字數 572 閱讀 7957

給定乙個從1 到 n 排序的整數列表。

首先,從左到右,從第乙個數字開始,每隔乙個數字進行刪除,直到列表的末尾。

第二步,在剩下的數字中,從右到左,從倒數第乙個數字開始,每隔乙個數字進行刪除,直到列表開頭。

我們不斷重複這兩步,從左到右和從右到左交替進行,直到只剩下乙個數字。

返回長度為 n 的列表中,最後剩下的數字。

示例:

輸入:n = 9,

1 2 3 4 5 6 7 8 9

2 4 6 8

2 66輸出:6

1,2,3,4,5,6,7,8,9第一次刪除之後的序列為2,4,6,8,我們發現其為2*(1,2,3,4),通俗一點的即為2*(1,2,3,...,n/2);下一步執行的是從後面進行刪除,我們可以將其倒置,從前面進行刪除,然後減去用數目n+1減去那個數即可。

說白了這個題就是將兩次操作想辦法歸併成一中操作然後用遞迴的方式計算出答案。

class solution 

};

LeetCode 390 消除遊戲

給定乙個從1 到 n 排序的整數列表。首先,從左到右,從第乙個數字開始,每隔乙個數字進行刪除,直到列表的末尾。第二步,在剩下的數字中,從右到左,從倒數第乙個數字開始,每隔乙個數字進行刪除,直到列表開頭。我們不斷重複這兩步,從左到右和從右到左交替進行,直到只剩下乙個數字。返回長度為 n 的列表中,最後...

Leetcode 390 消除遊戲 C

給定乙個從1 到 n 排序的整數列表。首先,從左到右,從第乙個數字開始,每隔乙個數字進行刪除,直到列表的末尾。第二步,在剩下的數字中,從右到左,從倒數第乙個數字開始,每隔乙個數字進行刪除,直到列表開頭。我們不斷重複這兩步,從左到右和從右到左交替進行,直到只剩下乙個數字。返回長度為 n 的列表中,最後...

390 消除遊戲(python

題目 給定乙個從1 到 n 排序的整數列表。首先,從左到右,從第乙個數字開始,每隔乙個數字進行刪除,直到列表的末尾。第二步,在剩下的數字中,從右到左,從倒數第乙個數字開始,每隔乙個數字進行刪除,直到列表開頭。我們不斷重複這兩步,從左到右和從右到左交替進行,直到只剩下乙個數字。返回長度為 n 的列表中...