劍指offer系列36 孩子們的遊戲

2022-04-03 02:12:33 字數 627 閱讀 9769

書上說這是著名的約瑟夫環問題。這個要頻繁刪除操作,所以用list做就很容易想到了。list是單向的,所以當迭代器走到尾部的時候,再讓它回到頭部就可以形成環。

1

class

solution

24 auto next =++ f;//

定義乙個新的迭代器,儲存第乙個迭代器的下乙個的值。

25//

因為下一步有list的刪除操作會令第乙個定義的迭代器失效

26if (next ==li.end())

27 next =li.begin();

28 f--;

29li.erase(f);

30 f =next;31}

3233

return *f;34}

35 };

看到劍指offer上的第二種解法。將這個題目推到出乙個遞迴的公式。這樣關鍵是要想到遞迴,其次想到遞迴要會推導公式,數學好難,o(╥﹏╥)o不過這個**確實很簡潔,想清楚思路用這種方法做很有用。

1

class

solution

12 };

劍指offer 孩子們的遊戲

每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮...

劍指 offer 孩子們的遊戲

每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出列唱首歌,然後可以在禮品箱中任意的挑選禮...

劍指Offer 孩子們的遊戲

題目描述 每年六一兒童節,牛客都會準備一些小禮物去看望孤兒院的小朋友,今年亦是如此。hf作為牛客的資深元老,自然也準備了一些小遊戲。其中,有個遊戲是這樣的 首先,讓小朋友們圍成乙個大圈。然後,他隨機指定乙個數m,讓編號為0的小朋友開始報數。每次喊到m 1的那個小朋友要出列唱首歌,然後可以在禮品箱中任...