leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE |

commitc2b2bf3f3dd0e0a998f0a49674e2d4def1348b5e
parentcefb0ade590b17bae2190495e58429b77950d84a
authorDimitrije Dobrota <mail@dimitrijedobrota.com>
dateFri, 11 Oct 2024 09:34:14 +0200

Daily Problem

Diffstat:
AProblems/1942.cpp|+++++++++++++++++++++++++++
MREADME.md|+

2 files changed, 28 insertions(+), 0 deletions(-)


diff --git a/Problems/1942.cpp b/Problems/1942.cpp

@@ -0,0 +1,27 @@

class Solution {
public:
int smallestChair(const vector<vector<int>> &times, int targetFriend) const {
static tuple<int, bool, int> timeline[20002];
const int n = size(times);
priority_queue<int> seats;
for (int i = 0; i < n; i++) {
timeline[i * 2] = {times[i][0], true, i};
timeline[i * 2 + 1] = {times[i][1], false, i};
seats.push(-i);
}
sort(timeline, timeline + n * 2);
static int assign[10001];
for (const auto [time, sit, person] : span(timeline, timeline + n * 2)) {
if (person == targetFriend) return -seats.top();
if (sit)
assign[person] = seats.top(), seats.pop();
else
seats.push(assign[person]);
}
return -1;
}
};

diff --git a/README.md b/README.md

@@ -1064,6 +1064,7 @@ for solving problems.

| 1930 | Medium | [Unique Length-3 Palindromic Subsequences](Problems/1930.cpp) |
| 1934 | Medium | [Confirmation Rate](Problems/1934.cpp) |
| 1937 | Medium | [Maximum Number of Points with Cost](Problems/1937.cpp) |
| 1942 | Medium | [The Number of the Smallest Unoccupied Chair](Problems/1942.cpp) |
| 1943 | Medium | [Describe the Painting](Problems/1943.cpp) |
| 1945 | Easy | [Sum of Digits of String After Convert](Problems/1945.cpp) |
| 1947 | Medium | [Maximum Compatibility Score Sum](Problems/1947.cpp) |