Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 17 additions & 0 deletions DAY52/substring.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#include <iostream>
#include <vector>
using namespace std;
int32_t main(){
string s = "abcabcabc";
int n = s.size();
//cin >> s;
vector <int> dict(256,-1);
int maxl =0;int start =-1;
for(int i=0;i<n;i++){
if(dict[s[i]] > start)
start = dict[s[i]];
dict[s[i]] = i;
maxl = max(maxl , i-start);
}
cout << maxl;
}
29 changes: 29 additions & 0 deletions DAY53/print_matrix_in_snake_pattern.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#include <bits/stdc++.h>
using namespace std;
class Solution
{
public:
//Function to return list of integers visited in snake pattern in matrix.
vector<int> snakePattern(vector<vector<int> > arr)
{
// code here
int n = arr.size();
vector<int> v;
for(int i=0;i<n;i++){
if(i %2 ==0){
for(int j=0;j<n;j++){
v.push_back(arr[i][j]);

}
}
else{
for(int j=n-1;j>=0;j--){
v.push_back(arr[i][j]);

}

}
}
return v;
}
};
18 changes: 18 additions & 0 deletions DAY54/kadane_algorithm.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#include <iostream>
#include <vector>
using namespace std;
int maxsum(vector<int> arr){
int curr_sum = 0;
int max_sum = INT_MIN;
for(const int x: arr){
curr_sum += x;
max_sum = max(max_sum, curr_sum);

}
return max_sum;
}
int main(){
vector<int> arr = {2, 5, 6, 7, 0, -8};
int n = arr.size();
cout << maxsum(arr) << endl;
}
50 changes: 50 additions & 0 deletions DAY55/spiral.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
#include <iostream>
#include <vector>
using namespace std;
vector<int> spiralOrder(vector<vector<int>>& A) {
int T,B,L,R,dir;
T=0;
B=A.size()-1;
L=0;
R=A[0].size()-1;
dir=0;
int i;
vector<int> ans;

while(T<=B && L<=R)
{
if(dir==0)
{
for(i=L;i<=R;i++)
ans.push_back(A[T][i]);
T++;
}
else if(dir==1)
{
for(i=T;i<=B;i++)
ans.push_back(A[i][R]);
R--;
}
else if(dir==2)
{
for(i=R;i>=L;i--)
ans.push_back(A[B][i]);
B--;
}
else if(dir==3)
{
for(i=B;i>=T;i--)
ans.push_back(A[i][L]);
L++;
}
dir=(dir+1)%4;
}
return ans;
};
int main(){
vector<vector<int>> A = {{{1,2,3},{4,5,6},{7,8,9}}};
for(int x: spiralOrder(A)){
cout << x << " ";
}

}
27 changes: 27 additions & 0 deletions DAY56/kmp.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#include <iostream>
using namespace std;
int func (string s, string p , int n , int m){
int count =0;
for(int i=0;i<n;i++){
int k =0;
int l =0;
for(int j=i;j<m+i-1;j++){
if(s[i] != p[i]){
l =1;
break;
}
k++;
}
if(l==0){
count++;
}
}
return count;
}
int main(){
string s = "abcabcabc";
string p = "abc";
int n = s.size();
int m = p.size();
cout << func(s, p, m, n) << endl;
}
25 changes: 25 additions & 0 deletions DAY57/xor_equation.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include <iostream>
using namespace std;

int main() {
int t;
cin >> t;
while(t--){
int n;
int x;
cin >> n;
int count =0;
int arr[n];
for(int i=0;i<n;i++){
cin >> arr[i];
if((arr[i] +x) ^ (arr[i+1] +x) == 0){
count++;
}
else
cout << -1 << endl;
}
cout << count << endl;
}
// your code goes here
return 0;
}
1 change: 1 addition & 0 deletions DAY58/triplet_with_bitwise_and.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
solve(c , r,i, j);
13 changes: 13 additions & 0 deletions DAY59/search_int_rotated.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
class Solution {
public:
int search(vector<int>& nums, int target) {
int n = nums.size();
int ans =0;
for(int i=0;i<n;i++){
if(nums[i] == target)
return i;
}

return -1;
}
};
24 changes: 24 additions & 0 deletions DAY60/find_all_numberdisappear_inarr.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Solution {
public:
vector<int> findDisappearedNumbers(vector<int>& vec) {
vector<int> mis;

// For every given element
for (int i = 0; i < vec.size(); i++) {

// Find its index
int temp = abs(vec[i]) - 1;

// Update the element at the found index
vec[temp] = vec[temp] > 0 ? -vec[temp] : vec[temp];
}
for (int i = 0; i < vec.size(); i++)

// Current element was not present
// in the original vector
if (vec[i] > 0)
mis.push_back(i + 1);

return mis;
}
};
15 changes: 15 additions & 0 deletions DAY61/matrix.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main(){
vector<vector<int>> matrix;
int n = matrix.size();
int m = matrix[0].size();
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin >> matrix[i][j];
cout << matrix[i][j];
}
}
return 0;
}