作者Rushia (みけねこ的鼻屎)
看板Marginalman
標題Re: [閒聊] 每日LeetCode
時間Sun Sep 25 15:51:32 2022
622. Design Circular Queue
設計一個環狀佇列。
Explanation
MyCircularQueue myCircularQueue = new MyCircularQueue(3);
myCircularQueue.enQueue(1); // return True
myCircularQueue.enQueue(2); // return True
myCircularQueue.enQueue(3); // return True
myCircularQueue.enQueue(4); // return False
myCircularQueue.Rear(); // return 3
myCircularQueue.isFull(); // return True
myCircularQueue.deQueue(); // return True
myCircularQueue.enQueue(4); // return True
myCircularQueue.Rear(); // return 4
思路:
1.照定義去實現
2.用module size來實現環狀的效果
Java Code:
class MyCircularQueue {
private int max_size, first, last, size;
private int[] queue;
public MyCircularQueue(int k) {
max_size = k;
size = 0;
first = 0;
last = -1;
queue = new int[max_size];
}
public boolean enQueue(int value) {
if(isFull()) return false;
size++;
last = (last + 1) % max_size;
queue[last] = value;
return true;
}
public boolean deQueue() {
if(isEmpty()) return false;
size--;
first = (first + 1) % max_size;
return true;
}
public int Front() {
return isEmpty() ? -1 : queue[first];
}
public int Rear() {
return isEmpty() ? -1 : queue[last];
}
public boolean isEmpty() {
return size == 0;
}
public boolean isFull() {
return size == max_size;
}
}
痾 好像也沒啥好說明的==
--
https://i.imgur.com/uiFto42.jpg
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.165.253.177 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1664092295.A.DDA.html
推 surimodo: 大師 09/25 15:54
→ surimodo: 教我spring boot 09/25 15:54
→ Rushia: 幫我內推咕咕嚕 09/25 15:55
→ JenniferLope: 大師 我還在刷easy 09/25 15:59
噓 MikuLover: 看不懂啦 09/25 16:00