LeetCode題目 設計迴圈雙端佇列(c )

2021-10-22 23:52:23 字數 1493 閱讀 2620

**設計實現雙端佇列。

你的實現需要支援以下操作:

1.mycirculardeque(k):建構函式,雙端佇列的大小為k。

2.insertfront():將乙個元素新增到雙端佇列頭部。 如果操作成功返回 true。

3.insertlast():將乙個元素新增到雙端佇列尾部。如果操作成功返回 true。

4.deletefront():從雙端佇列頭部刪除乙個元素。 如果操作成功返回 true。

5.deletelast():從雙端佇列尾部刪除乙個元素。如果操作成功返回 true。

6.getfront():從雙端佇列頭部獲得乙個元素。如果雙端隊列為空,返回 -1。

7.getrear():獲得雙端佇列的最後乙個元素。 如果雙端隊列為空,返回 -1。

8.isempty():檢查雙端佇列是否為空。

9.isfull():檢查雙端佇列是否滿了。

mycirculardeque circulardeque = new mycirculardeque(3); // 設定容量大小為3

circulardeque.insertlast(1); // 返回 true

circulardeque.insertlast(2); // 返回 true

circulardeque.insertfront(3); // 返回 true

circulardeque.insertfront(4); // 已經滿了,返回 false

circulardeque.getrear(); // 返回 2

circulardeque.isfull(); // 返回 true

circulardeque.deletelast(); // 返回 true

circulardeque.insertfront(4); // 返回 true

circulardeque.getfront(); // 返回 4

1.所有值的範圍為 [1, 1000]

2.操作次數的範圍為 [1, 1000]

3.請不要使用內建的雙端佇列庫。

LeetCode 641 設計迴圈雙端佇列

設計實現雙端佇列。你的實現需要支援以下操作 示例 mycirculardeque circulardeque new mycirculardeque 3 設定容量大小為3 circulardeque.insertlast 1 返回 true circulardeque.insertlast 2 返回...

LeetCode 641 設計迴圈雙端佇列

設計實現雙端佇列。你的實現需要支援以下操作 mycirculardeque k 建構函式,雙端佇列的大小為k。insertfront 將乙個元素新增到雙端佇列頭部。如果操作成功返回 true。insertlast 將乙個元素新增到雙端佇列尾部。如果操作成功返回 true。deletefront 從雙...

leetcode專題之佇列 設計迴圈雙端佇列

class mycirculardeque object def init self,k 長度為k時占用k 1的空間,多出來的空間用來區分isempty和isfull 首尾兩個指標相等的時候為empty,尾部 1等於首部的時候為full self.q 0 k 1 self.len k 1 self....