Question Name:Searching 1

#include<iostream> 
using namespace std; 
  
void findClosest(int A[], int B[], int C[], int p, int q, int r) 
{ 
  
    int diff = 1000;  // Initialize min diff 
  
    // Initialize result 
    int res_i =0, res_j = 0, res_k = 0; 
  
    // Traverse arrays 
    int i=0,j=0,k=0; 
    while (i < p && j < q && k < r) 
    { 
        // Find minimum and maximum of current three elements 
        int minimum = min(A[i], min(B[j], C[k])); 
        int maximum = max(A[i], max(B[j], C[k])); 
  
        // Update result if current diff is less than the min 
        // diff so far 
        if (maximum-minimum < diff) 
        { 
             res_i = i, res_j = j, res_k = k; 
             diff = maximum - minimum; 
        } 
  
        // We can't get less than 0 as values are absolute 
        if (diff == 0) break; 
  
        // Increment index of array with smallest value 
        if (A[i] == minimum) i++; 
        else if (B[j] == minimum) j++; 
        else k++; 
    } 
  
    // Print result 
    cout << A[res_i] << " " << B[res_j] << " " << C[res_k]; 
} 
  
// Driver program 
int main() 
{ 
    int A[10] ; 
    int B[10] ; 
    int C[10] ; 
  
    int p; 
    int q; 
    int r,i; 
  scanf("%d",&p);
  for(i=0;i<p;i++) { scanf("%d",&A[i]) ; } 
    scanf("%d",&q);

    for(i=0;i<q;i++) { scanf("%d",&B[i]) ; } 
    scanf("%d",&r);

  for(i=0;i<r;i++) { scanf("%d",&C[i]) ; } 

    findClosest(A, B, C, p, q, r); 
    return 0; 
} 

Problem Description

Find three closest elements from given three sorted arrays. Take the three sorted arrays and their sizes as input.

  • Test Case 1

    Input (stdin)

    3
    1 4 10
    3
    2 15 20
    2
    10 12
    

    Expected Output

    10 15 10
  • Test Case 2

    Input (stdin)

    3
    20 24 100
    5
    2 19 22 79 800
    5
    10 12 23 24 119
    

    Expected Output

    24 22 23

Leave a Reply

Your email address will not be published. Required fields are marked *

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
CHP Adblock Detector Plugin | Codehelppro