leetcode390

 1 class Solution {
 2 public:
 3     int lastRemaining(int n) {
 4         if (n == 1) return 1;
 5         return 2 * (n / 2 + 1 - lastRemaining(n / 2));
 6 
 7         // vector<int> t;
 8         // for (int i = 1; i <= n; i++) t.push_back(i);
 9         // bool flag1 = true;
10         // while (t.size() > 1) {
11         //     // cout << t.size() << endl;
12         //     vector<int> tmp;
13         //     bool flag2 = false;
14         //     if (flag1) {
15         //         for (int i = 0; i < t.size(); i++) {
16         //             if (flag2) tmp.push_back(t[i]);
17         //             flag2 = !flag2;
18         //         }
19         //     } else {
20         //         for (int i = t.size() - 1; i >= 0; i--) {
21         //             if (flag2) tmp.insert(tmp.begin(), t[i]);
22         //             flag2 = !flag2;
23         //         }
24         //     }
25 
26         //     t.clear();
27         //     t = tmp;
28         //     flag1 = !flag1;
29         // }
30 
31         // return t[0];
32     }
33 };

参考:https://leetcode-cn.com/problems/elimination-game/solution/cpp-ke-neng-bi-jiao-hao-li-jie-yi-dian-de-si-lu-by/

猜你喜欢

转载自www.cnblogs.com/asenyang/p/12665214.html