也跟风说下下约瑟夫问题的O(n)解法。
这道题很久以前是看过解法的,这次憋想了好久没回忆起来。想哭的心都有了,感叹脑袋秀逗的太早了。。。(我勒个去啊。。。)
先谈本题的思路吧:
1. 链表,数组的游戏模拟都很不给力,达不到要求。
2. 我们想要的只是最后xxx的标号而已,中间谁谁谁怎么了我们都不关心。
3. 区分一下:N个人参加游戏,和第N次退出(参加人数大于N)的区别。
所以具体我也不多讲了:递推。
是的,我们有时候必须得变换思路:
中间过程我们根本不在乎,只是想要知道最终的结果。我之前一直抓着从第N个人退出去后开始分析问题的想法(这不就是过程模拟吗?),子问题没找准,或者说是根本傻到想不到那样的思路。
我真是杯具哥啊。。。
还在百合上看到这样一道逻辑题:
三位教官张,孙,周对学员进行评价:
张:训练周期太短,都不给优秀
周:有学员之前就训练过,可能有人会优秀
孙:班长或者体委会是(可能是)优秀的
这三人中仅有一人评价正确。问一定正确的结论是:
选项我就不说了。从三人的评价看:周的评价包含了孙的评价,孙若正确周必正确。所以,孙肯定是错的。
这样可以很容易得到答案的。或者这种题也可以对选项进行排除法。
这类有意思的题很多,一下子想不出来也是正常的... ...