Re: [閒聊] 每日LeetCode
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
推
09/25 15:54,
1年前
, 1F
09/25 15:54, 1F
→
09/25 15:54,
1年前
, 2F
09/25 15:54, 2F
→
09/25 15:55,
1年前
, 3F
09/25 15:55, 3F
→
09/25 15:59,
1年前
, 4F
09/25 15:59, 4F
噓
09/25 16:00,
1年前
, 5F
09/25 16:00, 5F
討論串 (同標題文章)
完整討論串 (本文為第 10 之 719 篇):
閒聊
1
3