Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Solved Day 1 Problem #5

Open
wants to merge 26 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
20a37ff
solve day 1 problem
suveshmoza Dec 15, 2020
eab48da
Merge pull request #1 from dscuietkuk/master
suveshmoza Dec 16, 2020
eeb9af7
Solved Day 2 Problem
suveshmoza Dec 16, 2020
8e8d1da
Merge pull request #2 from dscuietkuk/master
suveshmoza Dec 17, 2020
4d5b0da
Solved Day 3 Problem
suveshmoza Dec 17, 2020
1b1c542
Merge pull request #3 from dscuietkuk/master
suveshmoza Dec 18, 2020
3a329aa
Solved Day 4 Problem
suveshmoza Dec 18, 2020
51684c5
Merge pull request #4 from dscuietkuk/master
suveshmoza Dec 19, 2020
40bf4e6
Solved Day 5 Problem
suveshmoza Dec 19, 2020
f2de690
Merge pull request #5 from dscuietkuk/master
suveshmoza Dec 20, 2020
979c122
Solved Day 6 Problem
suveshmoza Dec 20, 2020
39a3122
Merge pull request #6 from dscuietkuk/master
suveshmoza Dec 21, 2020
0cae92b
Solved Day 7 Problem
suveshmoza Dec 21, 2020
f837692
Merge pull request #7 from dscuietkuk/master
suveshmoza Dec 22, 2020
b915e84
Solved Day 8 Problem
suveshmoza Dec 22, 2020
fbf3efa
Merge pull request #8 from dscuietkuk/master
suveshmoza Dec 23, 2020
6796140
Solved Day 9 Problem
suveshmoza Dec 23, 2020
6e4a7de
Merge pull request #9 from dscuietkuk/master
suveshmoza Dec 24, 2020
20fe484
Solved Day 10 Problem
suveshmoza Dec 24, 2020
1492717
Merge pull request #10 from dscuietkuk/master
suveshmoza Dec 25, 2020
af9140a
Solved Day 11 Problem
suveshmoza Dec 25, 2020
749cc2a
Merge pull request #11 from dscuietkuk/master
suveshmoza Dec 26, 2020
4aec309
Solved Day 12 Problem
suveshmoza Dec 26, 2020
4665f12
Merge pull request #12 from dscuietkuk/master
suveshmoza Dec 27, 2020
0cd218f
Merge pull request #13 from dscuietkuk/master
suveshmoza Dec 29, 2020
d2a92de
Solved Day 13,14 and 15 Problem
suveshmoza Dec 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions DSA Marathon/Day 1/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#include <bits/stdc++.h>
using namespace std;

int findDuplicate(int arr[])
{

int slow = arr[0];
int fast = arr[arr[0]];

while (slow != fast)
{
slow = arr[slow];
fast = arr[arr[fast]];
}

fast = 0;

while (slow != fast)
{

slow = arr[slow];
fast = arr[fast];
}

return fast;
}

int main()
{
int a[] = {1, 3, 4, 2, 2};
int b[] = {3, 1, 3, 4, 2};
int c[] = {1, 1};
int d[] = {1, 1, 2};
cout << findDuplicate(a) << endl;
cout << findDuplicate(b) << endl;
cout << findDuplicate(c) << endl;
cout << findDuplicate(d) << endl;
return 0;
}
22 changes: 22 additions & 0 deletions DSA Marathon/Day 10/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
bool isInputValid(string s)
{
stack<char> st;
int n = s.size();
for (int i = 0; i < n; i++)
{
if (s[i] == '[' || s[i] == '(' || s[i] == '{')
st.push(s[i]);
else if (!st.empty() && s[i] == ')' && st.top() == '(')
st.pop();
else if (!st.empty() && s[i] == '}' && st.top() == '{')
st.pop();
else if (!st.empty() && s[i] == ']' && st.top() == '[')
st.pop();
else
st.push(s[i]);
}

if (st.empty())
return true;
return false;
}
34 changes: 34 additions & 0 deletions DSA Marathon/Day 11/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include<iostream>
#include <stack>
using namespace std;

int performOperation(char c,int op1,int op2){
if(c=='+') return op1+op2;
else if(c=='-') return op1-op2;
else if(c=='*') return op1*op2;
else return op1/op2;
}

int main()
{
int t;
cin>>t;
while(t--){
string s;
stack<int>st;
cin>>s;
for(int i=0;i<s.length();i++){
if(isdigit(s[i])) st.push((s[i]-'0'));
else{
int op2=st.top();
st.pop();
int op1=st.top();
st.pop();
int res=performOperation(s[i],op1,op2);
st.push(res);
}
}
cout<<(st.top())<<endl;
}
return 0;
}
38 changes: 38 additions & 0 deletions DSA Marathon/Day 12/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
int celebrity(vector<vector<int>> M, int n)
{
stack<int> s;
for (int i = 0; i < n; i++)
{
s.push(i);
}
while (s.size() >= 2)
{
int i = s.top();
s.pop();
int j = s.top();
s.pop();

if (M[i][j] == 1)
{
s.push(j);
}
else
{
s.push(i);
}
}
int pot = s.top();
s.pop();

for (int i = 0; i < n; i++)
{
if (i != pot)
{
if (M[i][pot] == 0 || M[pot][i] == 1)
{
return -1;
}
}
}
return pot;
}
101 changes: 101 additions & 0 deletions DSA Marathon/Day 13/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
#include <bits/stdc++.h>
using namespace std;

struct Queue
{
int front, rear, capacity;
int *queue;
Queue(int c)
{
front = rear = 0;
capacity = c;
queue = new int;
}

~Queue() { delete[] queue; }
void push(int data)
{
if (capacity == rear)
{
return;
}
else
{
queue[rear] = data;
rear++;
}
return;
}
void pop()
{
if (front == rear)
{
return;
}
else
{
for (int i = 0; i < rear - 1; i++)
{
queue[i] = queue[i + 1];
}
rear--;
}
return;
}
void display()
{
int i;
if (front == rear)
{
return;
}
for (i = front; i < rear; i++)
{
cout << queue[i] << " ";
}
cout << endl;
return;
}

int checkFrequency(int x)
{
int freq = 0;
for (int i = front; i <= rear; i++)
{
if (queue[i] == x)
{
freq++;
}
}
if (freq == 0)
return -1;
return freq;
}
};

// Driver code
int main()
{
int size;
cin >> size;
Queue q(size);

for (int i = 0; i < size; i++)
{
int key;
cin >> key;
q.push(key);
}
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
for (int i = 0; i < n; i++)
{
cout << q.checkFrequency(arr[i]) << endl;
}
return 0;
}
90 changes: 90 additions & 0 deletions DSA Marathon/Day 14/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
#include <bits/stdc++.h>
using namespace std;

struct Queue
{
int front, rear, capacity;
int *queue;
Queue(int c)
{
front = rear = 0;
capacity = c;
queue = new int;
}

~Queue() { delete[] queue; }
void push(int data)
{
if (capacity == rear)
{
return;
}
else
{
queue[rear] = data;
rear++;
}
return;
}
void pop()
{
if (front == rear)
{
return;
}
else
{
for (int i = 0; i < rear - 1; i++)
{
queue[i] = queue[i + 1];
}
rear--;
}
return;
}
void display()
{
int i;
if (front == rear)
{
return;
}
for (i = front; i < rear; i++)
{
cout << queue[i] << " ";
}
cout << endl;
return;
}

void reverse()
{
int i = front, j = rear - 1;
while (i < j)
{
swap(queue[i++], queue[j--]);
}
}
};

int main()
{
int t;
cin >> t;
while (t--)
{
int size;
cin >> size;
Queue q(size);

for (int i = 0; i < size; i++)
{
int key;
cin >> key;
q.push(key);
}
q.reverse();
q.display();
}
return 0;
}
30 changes: 30 additions & 0 deletions DSA Marathon/Day 15/Solution/suveshmoza.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#include <bits/stdc++.h>
using namespace std;

void generateBinaryNumbers(int n)
{
queue<string> q;
q.push("1");
while (n--)
{
string S = q.front();
cout << S << " ";
q.pop();
q.push(S + "0");
q.push(S + "1");
}
}

int main()
{
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
generateBinaryNumbers(n);
cout << endl;
}
return 0;
}
Loading