20241024 finished.

This commit is contained in:
2024-10-24 09:08:13 +08:00
parent 3102da99a8
commit bce8de1c85
266 changed files with 2321 additions and 2014 deletions

View File

@@ -4,11 +4,11 @@
pub struct Solution {}
// submission codes start here
use std::collections::BinaryHeap;
use std::cmp::Reverse;
use std::collections::BinaryHeap;
struct SeatManager {
seats: BinaryHeap<Reverse<i32>>
seats: BinaryHeap<Reverse<i32>>,
}
/**
@@ -16,24 +16,21 @@ struct SeatManager {
* If you need a mutable reference, change it to `&mut self` instead.
*/
impl SeatManager {
fn new(n: i32) -> Self {
let mut heap = BinaryHeap::with_capacity(n as usize);
for i in 1..=n {
heap.push(Reverse(i));
}
Self {
seats: heap
}
Self { seats: heap }
}
fn reserve(&mut self) -> i32 {
let head = self.seats.pop();
head.unwrap().0
}
fn unreserve(&mut self, seat_number: i32) {
self.seats.push(Reverse(seat_number));
}
@@ -55,7 +52,7 @@ mod tests {
#[test]
fn test_1845() {
let mut manager = SeatManager::new(5);
assert_eq!(1, manager.reserve());
}
}