leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE | |
commit | 6867f0bdda4aa21c7e4cea5c9e9e1ccae5f7da14 |
parent | c0d745cf4ad9d43b0a2fae08ee9c271d48e69755 |
author | Dimitrije Dobrota <mail@dimitrijedobrota.com> |
date | Thu, 26 Sep 2024 14:25:37 +0200 |
1 Random Problem
Diffstat:A | Problems/1901.cpp | | | ++++++++++++++++++++++++++ |
M | README.md | | | + |
2 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/Problems/1901.cpp b/Problems/1901.cpp
@@ -0,0 +1,26 @@
class Solution {
public:
vector<int> findPeakGrid(const vector<vector<int>> &mat) const {
int beg = 0, end = mat[0].size() - 1;
while (beg <= end) {
int maxi = 0, mid = beg + (end - beg) / 2;
for (int i = 0; i < mat.size(); i++) {
maxi = mat[i][mid] >= mat[maxi][mid] ? i : maxi;
}
bool isLeft = mid - 1 >= beg && mat[maxi][mid - 1] > mat[maxi][mid];
bool isRight = mid + 1 <= end && mat[maxi][mid + 1] > mat[maxi][mid];
if (!isLeft && !isRight)
return {maxi, mid};
else if (isRight)
beg = mid + 1;
else
end = mid - 1;
}
return {-1, -1};
}
};
diff --git a/README.md b/README.md
@@ -1039,6 +1039,7 @@ for solving problems.
| 1895 | Medium | [Largest Magic Square](Problems/1895.cpp) |
| 1897 | Easy | [Redistribute Characters to Make All Strings Equal](Problems/1897.cpp) |
| 1899 | Medium | [Merge Triplets to Form Target Triplet](Problems/1899.cpp) |
| 1901 | Medium | [Find a Peak Element II](Problems/1901.cpp) |
| 1903 | Easy | [Largest Odd Number in String](Problems/1903.cpp) |
| 1905 | Medium | [Count Sub Islands](Problems/1905.cpp) |
| 1907 | Medium | [Count Salary Categories](Problems/1907.cpp) |