Commit eb0b70f675068e2b9e5ce9cad96bb084408e9851

Authored by Ronaldo
1 parent 2530116e38
Exists in main

Updating the directory SearchingSortingandBasicDataStructures .

Showing 5 changed files with 231 additions and 0 deletions Side-by-side Diff

SearchingSortingandBasicDataStructures/Deque/Problem1/TicketCounter.cpp View file @ eb0b70f
  1 +//
  2 +// Created by ronal on 2/11/2023.
  3 +// Problem description link.
  4 +// https://practice.geeksforgeeks.org/problems/ticket-counter/0
  5 +
  6 +#include <bits/stdc++.h>
  7 +using namespace std;
  8 +
  9 +int TicketCounter(deque<int> &Deque, int K){
  10 +
  11 + while(Deque.size() != 1){
  12 + for(int i = 0; i < K; i++){
  13 + if(Deque.size() == 1){
  14 + break;
  15 + }else{
  16 + Deque.pop_front();
  17 + }
  18 + }
  19 +
  20 + for(int j = 0; j < K; j++){
  21 + if(Deque.size() == 1){
  22 + break;
  23 + }else{
  24 + Deque.pop_back();
  25 + }
  26 + }
  27 + }
  28 + return Deque.front();
  29 +}
  30 +
  31 +int main() {
  32 + int tests, N, K;
  33 + deque<int> Deque;
  34 +
  35 + cin >> tests;
  36 + for(int i = 0; i < tests; i++){
  37 + cin >> N >> K;
  38 + for(int j = 1; j <= N; j++){
  39 + Deque.push_back(j);
  40 + }
  41 + cout << TicketCounter(Deque, K) << "\n";
  42 + Deque.clear();
  43 + }
  44 + return 0;
  45 +}
SearchingSortingandBasicDataStructures/Queue/GeeksforGeeks.cpp View file @ eb0b70f
  1 +//
  2 +// Created by ronal on 2/11/2023.
  3 +// Problem Description Link.
  4 +// https://practice.geeksforgeeks.org/problems/geeksforgeeks/0
  5 +
  6 +#include <bits/stdc++.h>
  7 +using namespace std;
  8 +
  9 +int GeeksForGeeks(queue<int> &q){
  10 + int aux;
  11 +
  12 + if(q.size() == 1){
  13 + return q.front();
  14 +
  15 + }else{
  16 + while(!q.empty()){
  17 + aux = q.front();
  18 + q.pop();
  19 + q.push(aux);
  20 + q.pop();
  21 +
  22 + if(q.size() == 1){
  23 + break;
  24 + }
  25 + }
  26 + }
  27 + return q.front();
  28 +}
  29 +
  30 +int main() {
  31 + queue<int> q;
  32 + int tests;
  33 + int size;
  34 +
  35 + cin >> tests;
  36 + for(int i = 0; i < tests; i++){
  37 + cin >> size;
  38 + for(int j = 1; j <= size; j++){
  39 + q.push(j);
  40 + }
  41 + cout << GeeksForGeeks(q) << "\n";
  42 + q.pop();
  43 + }
  44 + return 0;
  45 +}
SearchingSortingandBasicDataStructures/Stack/Problem1/ValidString.cpp View file @ eb0b70f
  1 +//
  2 +// Created by ronal on 2/11/2023.
  3 +// Problem Description Link.
  4 +// https://practice.geeksforgeeks.org/problems/valid-string/0
  5 +
  6 +#include <bits/stdc++.h>
  7 +using namespace std;
  8 +
  9 +string isValid(string s){
  10 + stack<char> stak;
  11 + char c;
  12 +
  13 + for(int i = 0; i < s.size(); i++){
  14 + if(s[i] == '0'){
  15 + stak.push(s[i]);
  16 + continue;
  17 + }else if(stak.empty()){
  18 + return "no\n";
  19 + }else if(s[i] == '1'){
  20 + stak.pop();
  21 + }
  22 + }
  23 +
  24 + if(stak.empty()){
  25 + return "yes\n";
  26 + }else{
  27 + return "no\n";
  28 + }
  29 +
  30 +}
  31 +
  32 +int main() {
  33 + int tests, size;
  34 + string s;
  35 +
  36 + cin >> tests;
  37 + for(int i = 0; i < tests; i++){
  38 + cin >> size;
  39 + cin.ignore();
  40 + getline(cin, s);
  41 + cout << isValid(s);
  42 + }
  43 + return 0;
  44 +}
SearchingSortingandBasicDataStructures/Stack/Problem2/ContestScore.cpp View file @ eb0b70f
  1 +//
  2 +// Created by ronal on 2/11/2023.
  3 +// Problem description Link.
  4 +// https://practice.geeksforgeeks.org/problems/contest-score/0
  5 +
  6 +
  7 +#include <bits/stdc++.h>
  8 +using namespace std;
  9 +
  10 +void ContestScore(vector<long long> &v, stack<long long> &stak){
  11 + vector<long long >::reverse_iterator rit;
  12 + long long aux;
  13 + bool value;
  14 + for(rit = v.rbegin(); rit != v.rend(); rit++){
  15 + stak.push(*rit);
  16 + }
  17 +
  18 + int j = 0;
  19 + while(!stak.empty()){
  20 + aux = stak.top();
  21 + stak.pop();
  22 + value = false;
  23 + for(int i = j; i < v.size(); i++){
  24 + if(aux > v[i]){
  25 + cout << i + 1 << " ";
  26 + value = true;
  27 + break;
  28 + }else{
  29 + continue;
  30 + }
  31 + }
  32 + j++;
  33 + if(!value){
  34 + cout << "-1 ";
  35 + }
  36 + }
  37 +
  38 +}
  39 +
  40 +int main() {
  41 + int tests, size;
  42 + vector<long long> v;
  43 + stack<long long> stak;
  44 + long long value;
  45 +
  46 + cin >> tests;
  47 + for(int i = 0; i < tests; i++){
  48 + cin >> size;
  49 + for(int j = 0; j < size; j++){
  50 + cin >> value;
  51 + v.push_back(value);
  52 + }
  53 + ContestScore(v, stak);
  54 + cout << "\n";
  55 + v.clear();
  56 +
  57 + }
  58 + return 0;
  59 +}
SearchingSortingandBasicDataStructures/Stack/Problem3/GeekAndBooks.cpp View file @ eb0b70f
  1 +//
  2 +// Created by ronal on 2/11/2023.
  3 +// Problem Description Link.
  4 +// https://practice.geeksforgeeks.org/problems/geek-and-books/0
  5 +
  6 +#include <bits/stdc++.h>
  7 +using namespace std;
  8 +
  9 +int main() {
  10 + stack<int> Stak;
  11 + int tests, size, value;
  12 + string type;
  13 +
  14 + cin >> tests;
  15 + for(int i = 0; i < tests; i++){
  16 + cin >> size;
  17 + for(int j = 0; j < size; j++){
  18 + cin >> type;
  19 + if(type.compare("place") == 0){
  20 + cin >> value;
  21 + Stak.push(value);
  22 + }else{
  23 + if(Stak.empty()){
  24 + cout << "-1 ";
  25 + }else{
  26 + cout << Stak.top() << " ";
  27 + Stak.pop();
  28 + }
  29 + }
  30 + }
  31 +
  32 + while(!Stak.empty()){
  33 + Stak.pop();
  34 + }
  35 + cout << "\n";
  36 + }
  37 + return 0;
  38 +}