jayati

Merge Without Extra Space 0.23 s

Oct 11th, 2023
1,069
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. //{ Driver Code Starts
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4.  
  5.  
  6. // } Driver Code Ends
  7. class Solution{
  8.     public:
  9.         //Function to merge the arrays.
  10.         void merge(long long arr1[], long long arr2[], int n, int m)
  11.         {
  12.             // code here
  13.             int l=n-1;
  14.             int r=0;
  15.             while(l>=0 && r<m)
  16.             {
  17.                 if(arr1[l]>arr2[r])
  18.                 {
  19.                     int t=arr1[l];
  20.                     arr1[l]=arr2[r];
  21.                     arr2[r]=t;
  22.                     l--;
  23.                     r++;
  24.                 }
  25.                 else
  26.                 {
  27.                     break;
  28.                 }
  29.             }
  30.             sort(arr1,arr1+n);
  31.             sort(arr2,arr2+m);
  32.         }
  33. };
  34.  
  35. //{ Driver Code Starts.
  36.  
  37. int main()
  38. {
  39.    
  40.     int T;
  41.     cin >> T;
  42.    
  43.     while(T--){
  44.         int n, m;
  45.         cin >> n >> m;
  46.        
  47.         long long arr1[n], arr2[m];
  48.        
  49.         for(int i = 0;i<n;i++){
  50.             cin >> arr1[i];
  51.         }
  52.        
  53.         for(int i = 0;i<m;i++){
  54.             cin >> arr2[i];
  55.         }
  56.         Solution ob;
  57.         ob.merge(arr1, arr2, n, m);
  58.  
  59.         for (int i = 0; i < n; i++)
  60.             cout<<arr1[i]<<" ";
  61.        
  62.        
  63.         for (int i = 0; i < m; i++)
  64.             cout<<arr2[i]<<" ";
  65.        
  66.         cout<<endl;
  67.     }
  68.  
  69.     return 0;
  70. }
  71.  
  72. // } Driver Code Ends
Advertisement
Add Comment
Please, Sign In to add comment