950. 按遞增順序顯示卡牌
阿新 • • 發佈:2021-12-13
牌組中的每張卡牌都對應有一個唯一的整數。你可以按你想要的順序對這套卡片進行排序。
最初,這些卡牌在牌組裡是正面朝下的(即,未顯示狀態)。
現在,重複執行以下步驟,直到顯示所有卡牌為止:
從牌組頂部抽一張牌,顯示它,然後將其從牌組中移出。
如果牌組中仍有牌,則將下一張處於牌組頂部的牌放在牌組的底部。
如果仍有未顯示的牌,那麼返回步驟 1。否則,停止行動。
返回能以遞增順序顯示卡牌的牌組順序。
答案中的第一張牌被認為處於牌堆頂部。
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/reveal-cards-in-increasing-order
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
心之所向,素履以往 生如逆旅,一葦以航import java.util.Arrays; import java.util.LinkedList; class Solution { public int[] deckRevealedIncreasing(int[] deck) { if (deck == null || deck.length == 0) { return new int[0]; } int[] ret = new int[deck.length]; LinkedList<Integer> queue = new LinkedList<>(); for (int i = 0; i < deck.length; ++i) { queue.offerLast(i); } Arrays.sort(deck); for (int num : deck) { ret[queue.pollFirst()] = num; if (!queue.isEmpty()) { queue.offerLast(queue.pollFirst()); } } return ret; } }