一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆底,直到手里没有牌.最后桌子上的牌是从1到n有序,设计程序,输入n,输出牌堆的顺序数组
研究一下这个面试题,题目:一副从1到n的牌,每次从牌堆顶取一张放桌子上,再取一张放牌堆底,直到手里没有牌.最后桌子上的牌是从1到n有序,设计程序,输入n,输出牌堆的顺序数组。第一种:逆推一下。拿一张放手里,然后再拿一张放在上面。第二种方式,是先将1...n的牌顺序排列,以N为5为例,然后按照题目中描述的步骤重新排列得到[1 3 5 4 2].将得到的牌面上的数字,替换成该数字的索引对应的牌面数字[1 5 2 4 3] (这里索引要从1开始),最终得到的顺序就是题目要求的结果.第一种原理简单,不说
原创
2020-07-24 17:47:18 ·
1817 阅读 ·
0 评论