解題思路:每次讀取乙個數之後,算出他經過k次洗牌後的位置,只用乙個長度為2n陣列用來輸出 根據當前數的位置,可以算出經過一次洗牌後的位置 如果當前數小於等於n(即在左手),則他下次出現的位置是 2當前位置 與之對應的當前位置 + n(即在右手)的牌,則他下次出現的位置是 2當前位置 + 1
**實現:
#include #include using namespace std;
void shuffle(int n, int k, vector&result) }}
int main()
cout << endl;
} system("pause");
return 0;
}
參*** 每日一題 1
題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...
每日一題2018 3 21
leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...
每日一題2018 3 22
leetcode 03 最長不重複子串 第一反應就是動態規劃。看到了網上的方法一。直接把問題簡化為找兩個重複字元間的最長距離,太巧妙了!class solution if i idx max locs s i i return max ling老師的方法二 仍舊轉化為動態規劃,但是為節省空間不再開個...