leetcode

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

commit0ff3eded1ba66f25ed63019c11c4c39db6b561cb
parent78be7ecce3b712b5c46b44565bafe910fb5831b4
authorDimitrije Dobrota <mail@dimitrijedobrota.com>
dateThu, 5 Oct 2023 14:25:46 +0000

2 Random Problems

Diffstat:
AProblems/1109.cpp|++++++++++++++++++
AProblems/1765.cpp|+++++++++++++++++++++++++++++++++++
MREADME.md|++

3 files changed, 55 insertions(+), 0 deletions(-)


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

@@ -0,0 +1,18 @@

class Solution {
public:
vector<int> corpFlightBookings(const vector<vector<int>> &bookings, int n) {
vector<int> res(n + 1, 0);
for (const auto &booking : bookings) {
res[booking[0] - 1] += booking[2];
res[booking[1]] -= booking[2];
}
for (int i = 0, acc = 0; i < n; i++) {
res[i] = acc += res[i];
}
res.resize(n);
return res;
}
};

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

@@ -0,0 +1,35 @@

class Solution {
typedef tuple<int, int> record;
public:
vector<vector<int>> highestPeak(vector<vector<int>> &isWater) {
static const int offset[] = {-1, 0, 1, 0, -1};
const int n = isWater.size(), m = isWater[0].size();
queue<record> q;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (isWater[i][j])
isWater[i][j] = 0, q.push({i, j});
else
isWater[i][j] = INT_MAX;
}
}
while (!q.empty()) {
for (int k = q.size(); k > 0; k--) {
const auto [i, j] = q.front();
q.pop();
for (int k = 0; k < 4; k++) {
const int x = i + offset[k], y = j + offset[k + 1];
if (x < 0 || x >= n || y < 0 || y >= m) continue;
if (isWater[x][y] != INT_MAX) continue;
isWater[x][y] = isWater[i][j] + 1;
q.push({x, y});
}
}
}
return isWater;
}
};

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

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

| 1095 | Easy | [Find Numbers with Even Number of Digits](Problems/1095.cpp) |
| 1099 | Easy | [Replace Elements with Greatest Element on Right Side](Problems/1099.cpp) |
| 1104 | Medium | [Path In Zigzag Labelled Binary Tree](Problems/1104.cpp) |
| 1109 | Medium | [Corporate Flight Bookings](Problems/1109.cpp) |
| 1110 | Medium | [Delete Nodes And Return Forest](Problems/1110.cpp) |
| 1111 | Medium | [Maximum Nesting Depth of Two Valid Parentheses Strings](Problems/1111.cpp) |
| 1123 | Medium | [Lowest Common Ancestor of Deepest Leaves](Problems/1123.cpp) |

@@ -694,6 +695,7 @@ for solving problems.

| 1743 | Medium | [Restore the Array From Adjacent Pairs](Problems/1743.cpp) |
| 1751 | Hard | [Maximum Number of Events That Can Be Attended II](Problems/1751.cpp) |
| 1753 | Medium | [Maximum Score From Removing Stones](Problems/1753.cpp) |
| 1765 | Medium | [Map of Highest Peak](Problems/1765.cpp) |
| 1768 | Easy | [Merge Strings Alternately](Problems/1768.cpp) |
| 1769 | Medium | [Minimum Number of Operations to Move All Balls to Each Box](Problems/1769.cpp) |
| 1780 | Medium | [Check if Number is a Sum of Powers of Three](Problems/1780.cpp) |