title: Search Insert And Delete In An Unsorted Array
signature: pub fn search_insert_and_delete_in_an_unsorted_array(arr: Vec<i32>, n: i32, key: i32) -> i32 {
test_code: use std::collections::HashMap;
  use std::collections::HashSet;
  use std::cmp::*;
  use std::collections::*;
  use std::fmt::*; 
  
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  pub fn validate_solution(actual: i32, expected: i32)->bool{
  return actual==expected
  }
  pub fn driver(arr: Vec<i32>, n: i32, key: i32, expected: i32)->String{
      if validate_solution(PLACEHOLDER_FN_NAME(arr, n, key), expected) {
        return "PASSED".to_string();
      };
      return "FAILED".to_string();
  
  }
  
  fn main() {
      println!("TEST-0...{}", driver(
        Vec::from([4, 8, 11, 23, 55, 57, 73, 74, 77, 79, 93]), 8, 11, 
        2
      ));
      
      println!("TEST-1...{}", driver(
        Vec::from([-88, 12, -62, -66, -24, 18, 12, 22, 94, 30, -50, -42, -94, 18, 76, -6, -48, -68, 48, 36, -78, 52, -82, 76, 2, -44, -10, 88]), 27, 12, 
        1
      ));
      
      println!("TEST-2...{}", driver(
        Vec::from([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1]), 11, 0, 
        0
      ));
      
      println!("TEST-3...{}", driver(
        Vec::from([33, 9, 93, 70, 81, 70, 56, 66, 72, 81, 74, 32, 71, 72, 3, 81, 70, 22, 82, 2, 75, 18, 90, 29, 48]), 24, 72, 
        8
      ));
      
      println!("TEST-4...{}", driver(
        Vec::from([-98, -70, -62, -60, -60, -54, -48, -48, -46, -44, -34, -26, -18, -6, 4, 18, 28, 32, 34, 40, 50, 54, 56, 62, 64, 64, 98]), 18, 23, 
        -1
      ));
      
      println!("TEST-5...{}", driver(
        Vec::from([1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1]), 17, 16, 
        -1
      ));
      
      println!("TEST-6...{}", driver(
        Vec::from([4, 6, 7, 10, 10, 12, 13, 18, 23, 29, 29, 34, 46, 54, 60, 61, 63, 67, 69, 70, 72, 76, 79, 79, 81, 82, 88, 90, 99]), 15, 28, 
        -1
      ));
      
      println!("TEST-7...{}", driver(
        Vec::from([94, 34, -60, -74, 86, 80, 68, -48, 78, -62, -98, -44, -44, 92, -94, -86, -36, 12, 84, -90, 52, 42, -42, -66, 88, 76, 66]), 21, 16, 
        -1
      ));
      
      println!("TEST-8...{}", driver(
        Vec::from([0, 0, 0, 1]), 2, 3, 
        -1
      ));
      
      println!("TEST-9...{}", driver(
        Vec::from([76, 59, 38, 83, 38, 93, 27, 11, 17, 80, 26, 28, 35, 53, 88, 10, 9, 75]), 12, 13, 
        -1
      ));
      
  }
source_py: def search_insert_and_delete_in_an_unsorted_array(arr, n, key):
      for i in range(n):
          if (arr[i] == key):
              return i
      return (- 1)
source_cpp: int search_insert_and_delete_in_an_unsorted_array(vector<int> arr, int n, int key) {
    int i;
    for ( i = 0;
    i < n;
    i ++ ) if ( arr [ i ] == key ) return i;
    return - 1;
  }