diff --git a/DAY52/substring.cpp b/DAY52/substring.cpp new file mode 100644 index 0000000..1f2a321 --- /dev/null +++ b/DAY52/substring.cpp @@ -0,0 +1,17 @@ +#include +#include +using namespace std; +int32_t main(){ + string s = "abcabcabc"; + int n = s.size(); + //cin >> s; + vector dict(256,-1); + int maxl =0;int start =-1; + for(int i=0;i start) + start = dict[s[i]]; + dict[s[i]] = i; + maxl = max(maxl , i-start); + } + cout << maxl; +} \ No newline at end of file diff --git a/DAY53/print_matrix_in_snake_pattern.cpp b/DAY53/print_matrix_in_snake_pattern.cpp new file mode 100644 index 0000000..2d8cf20 --- /dev/null +++ b/DAY53/print_matrix_in_snake_pattern.cpp @@ -0,0 +1,29 @@ +#include +using namespace std; +class Solution +{ + public: + //Function to return list of integers visited in snake pattern in matrix. + vector snakePattern(vector > arr) + { + // code here + int n = arr.size(); + vector v; + for(int i=0;i=0;j--){ + v.push_back(arr[i][j]); + + } + + } + } + return v; + } +}; \ No newline at end of file diff --git a/DAY54/kadane_algorithm.cpp b/DAY54/kadane_algorithm.cpp new file mode 100644 index 0000000..c25f7ed --- /dev/null +++ b/DAY54/kadane_algorithm.cpp @@ -0,0 +1,18 @@ +#include +#include +using namespace std; +int maxsum(vector 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 arr = {2, 5, 6, 7, 0, -8}; + int n = arr.size(); + cout << maxsum(arr) << endl; +} diff --git a/DAY55/spiral.cpp b/DAY55/spiral.cpp new file mode 100644 index 0000000..1d3910b --- /dev/null +++ b/DAY55/spiral.cpp @@ -0,0 +1,50 @@ +#include +#include +using namespace std; +vector spiralOrder(vector>& 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 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> A = {{{1,2,3},{4,5,6},{7,8,9}}}; + for(int x: spiralOrder(A)){ + cout << x << " "; + } + +} \ No newline at end of file diff --git a/DAY56/kmp.cpp b/DAY56/kmp.cpp new file mode 100644 index 0000000..f14bfe6 --- /dev/null +++ b/DAY56/kmp.cpp @@ -0,0 +1,27 @@ +#include +using namespace std; +int func (string s, string p , int n , int m){ + int count =0; + for(int i=0;i +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> 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; +} diff --git a/DAY58/triplet_with_bitwise_and.cpp b/DAY58/triplet_with_bitwise_and.cpp new file mode 100644 index 0000000..bb86e09 --- /dev/null +++ b/DAY58/triplet_with_bitwise_and.cpp @@ -0,0 +1 @@ +solve(c , r,i, j); \ No newline at end of file diff --git a/DAY59/search_int_rotated.cpp b/DAY59/search_int_rotated.cpp new file mode 100644 index 0000000..849cc62 --- /dev/null +++ b/DAY59/search_int_rotated.cpp @@ -0,0 +1,13 @@ +class Solution { +public: + int search(vector& nums, int target) { + int n = nums.size(); + int ans =0; + for(int i=0;i findDisappearedNumbers(vector& vec) { + vector 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; + } +}; \ No newline at end of file diff --git a/DAY61/matrix.cpp b/DAY61/matrix.cpp new file mode 100644 index 0000000..c8be288 --- /dev/null +++ b/DAY61/matrix.cpp @@ -0,0 +1,15 @@ +#include +#include +using namespace std; +int main(){ +vector> matrix; + int n = matrix.size(); + int m = matrix[0].size(); + for(int i=0;i> matrix[i][j]; + cout << matrix[i][j]; + } + } + return 0; +}