JSFiddle - React, Tailwind, and code Playground

by Neeraj

HTML

1860 2102 484

JavaScript

let t0 = performance.now();

/* let arr = [
  [1, 2, 2],
  [3, 1, 4]
]; */

/* let arr = [
  [4, 3],
  [5, 5],
  [6, 2]
]; */

let arr = [
  [1, 1, 5, 2, 3],
  [4, 5, 6, 4, 3],
  [9, 4, 4, 1, 5]
]

let allArra = [];
let finalOutcome;

let checkCOmmon = (arr1, arr2) => {

  /*   console.log(arr1);
    console.log(arr2); */
  for (var i = 0; i < arr1.length; i++) {

    for (var j = 0; j < arr2.length; j++) {
      if (arr1[i] == arr2[j]) {
        allArra.push(arr1[i]);
      }
    }
  }
}


for (i = 0; i < arr.length; i++) {
  for (j = i + 1; j < arr.length; j++) {
    checkCOmmon(arr[i], arr[j]) // find the common element from both the array 
  }
}

console.log(allArra)

finalOutcome = allArra.sort().filter(function(item, pos, ary) {
  return !pos || item != ary[pos - 1];
});

console.log(finalOutcome);
console.log(finalOutcome.length)

let t1 = performance.now();
console.log(`time taken ${t1 - t0} milliseconds.`);

// second solution 
let t2 = performance.now();

function solution(A) {
  let len = A.length;
  let hospitals = [];
  for (var i = 0; i < len; i++) {
    for (var j = i + 1; j < len; j++) {
      let conflictShcedule = A[i].filter(schedule => A[j].includes(schedule));
      hospitals.push(...conflictShcedule);
    }
  }

  let uniqScheudle = [...new Set(hospitals)].length;
  return uniqScheudle;
}

console.log(solution(arr));
let t3 = performance.now();
console.log(`time taken ${t3 - t2} milliseconds.`);