From c214bf2acf3cfc6bb12f1c1e21d15dca5e96a5a3 Mon Sep 17 00:00:00 2001 From: Shubham0599 Date: Tue, 3 Nov 2020 12:42:58 +0530 Subject: [PATCH 1/3] negative to left --- .../move negative no to left/Question.md | 12 ++++ .../Arrays/move negative no to left/sol.cpp | 70 +++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 Basic of Programming/Arrays/move negative no to left/Question.md create mode 100644 Basic of Programming/Arrays/move negative no to left/sol.cpp diff --git a/Basic of Programming/Arrays/move negative no to left/Question.md b/Basic of Programming/Arrays/move negative no to left/Question.md new file mode 100644 index 0000000..0663ed0 --- /dev/null +++ b/Basic of Programming/Arrays/move negative no to left/Question.md @@ -0,0 +1,12 @@ + +

Move all negative numbers to beginning and positive to end with constant extra space

+

+An array contains both positive and negative numbers in random order. Rearrange the array elements so that all negative numbers appear before all positive numbers. +

+
+Examples : 
+
+Input: -12, 11, -13, -5, 6, -7, 5, -3, -6
+Output: -12 -13 -5 -7 -3 -6 11 6 5
+Note: Order of elements is not important here.
+
\ No newline at end of file diff --git a/Basic of Programming/Arrays/move negative no to left/sol.cpp b/Basic of Programming/Arrays/move negative no to left/sol.cpp new file mode 100644 index 0000000..d2b60be --- /dev/null +++ b/Basic of Programming/Arrays/move negative no to left/sol.cpp @@ -0,0 +1,70 @@ +//quick sort partion approch +#include +#include +using namespace std; +void rearrange(int arr[],int n){ + int j=0; + for(int i=0;i +#include +using namespace std; +void rearrange(int arr[],int n){ + int i=0, j=n-1; + while(i0)j--; + + if(arr[i]>0 && arr[j]<0){ + int temp=arr[i]; + arr[i]=arr[j]; + arr[j]=temp; + j--; + i++; + } + + } +} + +void printArray(int arr[], int n) +{ + for (int i = 0; i < n; i++) + printf("%d ", arr[i]); +} + +int main() { + + int arr[] = { 1, 2, -3, 4, 5, 6, -7, 9,-8 }; + int n = sizeof(arr) / sizeof(arr[0]); + rearrange(arr, n); + printArray(arr, n); + return 0; +} \ No newline at end of file From 2ccaaf9cc34467401027729acd66911fc7477a4c Mon Sep 17 00:00:00 2001 From: Shubham0599 Date: Tue, 3 Nov 2020 16:11:04 +0530 Subject: [PATCH 2/3] union of 2 array --- .../Arrays/Union of 2 array/q.md | 33 +++++++++++++++++++ .../Arrays/Union of 2 array/sol.cpp | 25 ++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 Basic of Programming/Arrays/Union of 2 array/q.md create mode 100644 Basic of Programming/Arrays/Union of 2 array/sol.cpp diff --git a/Basic of Programming/Arrays/Union of 2 array/q.md b/Basic of Programming/Arrays/Union of 2 array/q.md new file mode 100644 index 0000000..5f3343c --- /dev/null +++ b/Basic of Programming/Arrays/Union of 2 array/q.md @@ -0,0 +1,33 @@ +
Given two arrays A and B of size N and M respectively. The task is to find union between these two arrays.
+Union of the two arrays can be defined as the set containing distinct elements from both the arrays. If there are repetitions, then only one occurrence of element should be printed in union.
+
+Input:
+The first line of input contains an integer T denoting the number of test cases. Then T test cases follow. Each test case consist of three lines. The first line of each test case contains two space separated integers N and M, where N is the size of array A and M is the size of array B. The second line of each test case contains N space separated integers denoting elements of array A. The third line of each test case contains M space separated integers denoting elements of array B.
+
+Output:
+Correspoding to each test case, print the count of union elements of the two arrays.
+
+Expected Time Complexity: O(N + M).
+Expected Auxiliary Space: O(N + M).
+
+Constraints:
+1 ≤ T ≤ 100
+1 ≤ N, M ≤ 105
+1 ≤ A[i], B[i] < 105
+
+Example:
+Input:
+2
+5 3
+1 2 3 4 5
+1 2 3
+6 2
+85 25 1 32 54 6
+85 2
+Output:
+5
+7
+
+Explanation:
+Testcase 1: 1, 2, 3, 4 and 5 are the elements which comes in the union set of both arrays.
+Testcase 2: 1 , 2 , 6 , 25 , 32 , 54 and 85 are the elements which comes in the union set of both arrays. 
\ No newline at end of file diff --git a/Basic of Programming/Arrays/Union of 2 array/sol.cpp b/Basic of Programming/Arrays/Union of 2 array/sol.cpp new file mode 100644 index 0000000..283005d --- /dev/null +++ b/Basic of Programming/Arrays/Union of 2 array/sol.cpp @@ -0,0 +1,25 @@ +#include +#include +using namespace std; + +int main() { + //code + int t; + cin>>t; + while(t--){ + int n,m; + cin>>n; + cin>>m; + int arr1[n],arr2[m]; + for(int i=0;i>arr1[i]; + for(int i=0;i>arr2[i]; + + unordered_map mp; + for(int i=0;i Date: Tue, 3 Nov 2020 16:22:10 +0530 Subject: [PATCH 3/3] jj --- Basic of Programming/Arrays/Union of 2 array/q.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Basic of Programming/Arrays/Union of 2 array/q.md b/Basic of Programming/Arrays/Union of 2 array/q.md index 5f3343c..f074b89 100644 --- a/Basic of Programming/Arrays/Union of 2 array/q.md +++ b/Basic of Programming/Arrays/Union of 2 array/q.md @@ -1,3 +1,4 @@ +Link
Given two arrays A and B of size N and M respectively. The task is to find union between these two arrays.
 Union of the two arrays can be defined as the set containing distinct elements from both the arrays. If there are repetitions, then only one occurrence of element should be printed in union.