diff --git a/solution/1800-1899/1845.Seat Reservation Manager/README.md b/solution/1800-1899/1845.Seat Reservation Manager/README.md index cdda146688702..373bd4c6d0d11 100644 --- a/solution/1800-1899/1845.Seat Reservation Manager/README.md +++ b/solution/1800-1899/1845.Seat Reservation Manager/README.md @@ -197,6 +197,38 @@ func (h *hp) Pop() interface{} { */ ``` +### **C#** + +```cs +public class SeatManager { + private SortedSet availableSeats; + + public SeatManager(int n) { + availableSeats = new SortedSet(); + for (int i = 1; i <= n; i++) { + availableSeats.Add(i); + } + } + + public int Reserve() { + int reservedSeat = availableSeats.Min; + availableSeats.Remove(reservedSeat); + return reservedSeat; + } + + public void Unreserve(int seatNumber) { + availableSeats.Add(seatNumber); + } +} + +/** + * Your SeatManager object will be instantiated and called as such: + * SeatManager obj = new SeatManager(n); + * int param_1 = obj.Reserve(); + * obj.Unreserve(seatNumber); + */ +``` + ### **...** ``` diff --git a/solution/1800-1899/1845.Seat Reservation Manager/README_EN.md b/solution/1800-1899/1845.Seat Reservation Manager/README_EN.md index 58373a762a9e3..bc56a11388873 100644 --- a/solution/1800-1899/1845.Seat Reservation Manager/README_EN.md +++ b/solution/1800-1899/1845.Seat Reservation Manager/README_EN.md @@ -176,6 +176,38 @@ func (h *hp) Pop() interface{} { */ ``` +### **C#** + +```cs +public class SeatManager { + private SortedSet availableSeats; + + public SeatManager(int n) { + availableSeats = new SortedSet(); + for (int i = 1; i <= n; i++) { + availableSeats.Add(i); + } + } + + public int Reserve() { + int reservedSeat = availableSeats.Min; + availableSeats.Remove(reservedSeat); + return reservedSeat; + } + + public void Unreserve(int seatNumber) { + availableSeats.Add(seatNumber); + } +} + +/** + * Your SeatManager object will be instantiated and called as such: + * SeatManager obj = new SeatManager(n); + * int param_1 = obj.Reserve(); + * obj.Unreserve(seatNumber); + */ +``` + ### **...** ``` diff --git a/solution/1800-1899/1845.Seat Reservation Manager/Solution.cs b/solution/1800-1899/1845.Seat Reservation Manager/Solution.cs new file mode 100644 index 0000000000000..b8afc56d3bcba --- /dev/null +++ b/solution/1800-1899/1845.Seat Reservation Manager/Solution.cs @@ -0,0 +1,27 @@ +public class SeatManager { + private SortedSet availableSeats; + + public SeatManager(int n) { + availableSeats = new SortedSet(); + for (int i = 1; i <= n; i++) { + availableSeats.Add(i); + } + } + + public int Reserve() { + int reservedSeat = availableSeats.Min; + availableSeats.Remove(reservedSeat); + return reservedSeat; + } + + public void Unreserve(int seatNumber) { + availableSeats.Add(seatNumber); + } +} + +/** + * Your SeatManager object will be instantiated and called as such: + * SeatManager obj = new SeatManager(n); + * int param_1 = obj.Reserve(); + * obj.Unreserve(seatNumber); + */