Website Summary Files Commits Branches @commit @diff @stats
path: root / Seminar02 / task04.cpp
diff options
context:
space:
mode:
Commit7eee5a78005a9a569186d2c8b4b645a818ab9bf1 (patch)
Author
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Committer
 Stoycho Kyosev <skyosev@192.168.100.17>
2024-10-06 07:04:44 -0400
Files84594e0af29cefa5aae76ace5f8eb81484400e31 /Seminar02/task04.cpp
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.tar.gz
Data-structures-and-algorithms-7eee5a78005a9a569186d2c8b4b645a818ab9bf1.zip
Parent0841635826cb03c0e74cd75ec3c97c4c3b594d8b (diff)
Cleanup
1 files changed, 0 insertions, 47 deletions
-rw-r--r--Seminar02/task04.cpp47
diff --git a/Seminar02/task04.cpp b/Seminar02/task04.cpp
deleted file mode 100644
index 91207a0..0000000
--- a/Seminar02/task04.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-#include<iostream>
-#include<stack>
-#include<vector>
-
-class firstLeftGreaterElement {
-private:
- std::vector<int> data;
-
- void init(const std::vector<int>& v) {
- std::stack<int> monotonicStack;
-
- data.resize(v.size());
-
- for (size_t i = 0; i < v.size(); i++) {
- while(!monotonicStack.empty() && monotonicStack.top() < v[i]) {
- monotonicStack.pop();
- }
-
- data[i] = monotonicStack.empty() ? -1 : monotonicStack.top();
- monotonicStack.push(v[i]);
- }
- }
-
-public:
- firstLeftGreaterElement(const std::vector<int>& v) {
- init(v);
- }
-
- int getFirstLeftGreaterElement(size_t idx) const {
- return data[idx];
- }
-};
-
-int main() {
- std::vector<int> example {4, 7, 2, 3, 12, 6, 4, 13};
- std::vector<int> example2 {1, 4, 3, 8, 12, 7};
-
- firstLeftGreaterElement f(example);
- firstLeftGreaterElement s(example2);
-
- for (size_t i = 0; i < example.size(); i++)
- std::cout << f.getFirstLeftGreaterElement(i) << " ";
-
- std::cout << std::endl;
-
- std::cout << s.getFirstLeftGreaterElement(0) << " " << s.getFirstLeftGreaterElement(2) << " " << s.getFirstLeftGreaterElement(5);
-} \ No newline at end of file