950. 按递增顺序显示卡牌
难度中等
牌组中的每张卡牌都对应有一个唯一的整数。你可以按你想要的顺序对这套卡片进行排序。
最初,这些卡牌在牌组里是正面朝下的(即,未显示状态)。
现在,重复执行以下步骤,直到显示所有卡牌为止:
- 从牌组顶部抽一张牌,显示它,然后将其从牌组中移出。
- 如果牌组中仍有牌,则将下一张处于牌组顶部的牌放在牌组的底部。
- 如果仍有未显示的牌,那么返回步骤 1。否则,停止行动。
返回能以递增顺序显示卡牌的牌组顺序。
答案中的第一张牌被认为处于牌堆顶部。
示例:
1 | 输入:[17,13,11,2,3,5,7] |
提示:
1 <= A.length <= 1000
1 <= A[i] <= 10^6
- 对于所有的
i != j
,A[i] != A[j]
模拟
真正的顺序与给的输入的顺序无关,真正的顺序与排序后的数组的index与对应的值的顺序有关。重要的是找排序后的顺序与真正的值的关系。
可以使用排序后数组的index作为双端队列的输入元素
重复以下过程:
- 每次将一个数字的index拿出来,放一个最小的值,然后将另外一个index放到队列的最后。
1 |
|