title: Find The Minimum Distance Between Two Numbers 1
signature: def findTheMinimumDistanceBetweenTwoNumbers1(arr: List[Int], n: Int, x: Int, y: Int) = {
test_code: import scala.collection.mutable.HashMap
  import scala.collection.immutable.HashSet
  
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  
  // TESTING CODE 
  // ============================================
  def validateSolution(actual: Int , expected: Int): Boolean = {
      actual.toString == expected.toString
  }
  
  def driver(arr: List[Int], n: Int, x: Int, y: Int, expected: Int): String = {
      try {
          if (validateSolution(PLACEHOLDER_FN_NAME(arr, n, x, y),expected)) {
              "PASSED"
          } else{
              "FAILED"
          }
      }catch{
          case e: Exception => {e.getClass.getName}
      }
  
  }
  object QuestionEvaluator extends App {
  
      println(s"TEST-0...${driver(
        List(4, 7, 7, 8, 11, 14, 16, 25, 34, 35, 36, 36, 38, 40, 41, 43, 45, 47, 57, 60, 64, 72, 73, 74, 75, 82, 83, 83, 84, 84, 84, 92), 22, 7, 40, 
        11    
      )}")   
  
  
      println(s"TEST-1...${driver(
        List(96, 70, 88, -64, -42, 58, 92, 66, -14, 90, -66, 12, 88, -12, 48, -4, 90, 24, 98, 14, 32, 38, 98, 78, 2, 26, 12, -36, 90, 80, 40, 58, 88, 64, 16), 25, 58, 70, 
        4    
      )}")   
  
  
      println(s"TEST-2...${driver(
        List(46, 96, 82, 73, 30, 36, 56, 20, 5, 36, 4, 7, 89, 63, 54, 97, 80, 56, 93, 34, 90, 56, 25, 27, 75, 68, 14, 90), 26, 54, 82, 
        12    
      )}")   
  
  
      println(s"TEST-3...${driver(
        List(-96, -88, -82, -66, -62, -52, -52, -46, -46, -40, -40, -28, -24, -12, 0, 4, 10, 24, 42, 46, 48, 48, 50, 60, 62, 64, 64, 70, 92, 98), 24, 0, 4, 
        1    
      )}")   
  
  
      println(s"TEST-4...${driver(
        List(0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1), 10, 0, 1, 
        1    
      )}")   
  
  
      println(s"TEST-5...${driver(
        List(1, 2, 2, 6, 10, 14, 15, 18, 19, 22, 23, 29, 30, 37, 40, 40, 41, 41, 42, 42, 44, 46, 46, 54, 56, 72, 73, 81, 83, 83, 86, 88, 93), 27, 1, 42, 
        18    
      )}")   
  
  }
  
source_py: def find_the_minimum_distance_between_two_numbers_1(arr, n, x, y):
      min_dist = sys.maxsize
      for i in range(n):
          if ((arr[i] == x) or (arr[i] == y)):
              prev = i
              break
      while (i < n):
          if ((arr[i] == x) or (arr[i] == y)):
              if ((arr[prev] != arr[i]) and ((i - prev) < min_dist)):
                  min_dist = (i - prev)
                  prev = i
              else:
                  prev = i
          i += 1
      return min_dist
source_cpp: int find_the_minimum_distance_between_two_numbers_1(vector<int> arr, int n, int x, int y) {
    int i = 0;
    int min_dist = INT_MAX;
    int prev;
    for ( i = 0;
    i < n;
    i ++ ) {
      if ( arr [ i ] == x || arr [ i ] == y ) {
        prev = i;
        break;
      }
    }
    for (;
    i < n;
    i ++ ) {
      if ( arr [ i ] == x || arr [ i ] == y ) {
        if ( arr [ prev ] != arr [ i ] && ( i - prev ) < min_dist ) {
          min_dist = i - prev;
          prev = i;
        }
        else prev = i;
      }
    }
    return min_dist;
  }