程序员

轮子哥知乎现场解答算法题,程序员们一脸懵逼:半天没看懂题目

2018-07-11  本文已影响64人  温柔的倾诉

小编在知乎上看到的一道题,拿来分享给大家:

一副扑克牌中抽出13张从a到k然后把上面的一张抽出来放最低下,第二张是1拿出来摆桌上,再把最上面的一张抽出来放底下,第二张是2放桌上。以此类推把他们按照顺序都抽出来,怎么摆?

轮子哥直接表示很简单。直接把一副1..n的牌那样玩一遍,他的结果就是索引值,然后把桌子上的牌堆按照索引值排个序(这里是O(n)),就得到原来的结果了。我觉得思路应该1秒钟给出来,写代码检查一下可能需要10分钟。

然后就有网友说:题目暗示性很强啊,不太容易想到巨硬老哥的做法,强!

然后有一名网友发表了自己解答这道题目的过程及代码(代码放在文尾),同是他还觉得逆向的方法倒是挺简单。

看到这些大神都在讨论这套题,这些小伙伴都一脸懵,异口同声的说道:看了半天没看懂题目是啥意思,谁能解释下?

同是也有人问:这时NOIP(全国青少年信息学奥林匹克联赛)难度级别的题目?

Python:

def MiTest2(n):

result = []

for i in range(n):

result = result[-1:] + result[:-1]

result = [(n-i)] + result

print(result)

对于轮子哥和这位网友不同的解决方法,大伙有什么跟好的方案吗?欢迎在下方评论区吐槽!

上一篇下一篇

猜你喜欢

热点阅读