Algorithms: Symmetric Difference
This commit is contained in:
		
							parent
							
								
									6a10d5ddfa
								
							
						
					
					
						commit
						063d89f0d8
					
				
							
								
								
									
										21
									
								
								Algorithms/symmetricDifference.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								Algorithms/symmetricDifference.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
			
		||||
// https://www.freecodecamp.org/learn/coding-interview-prep/algorithms/find-the-symmetric-difference
 | 
			
		||||
 | 
			
		||||
function sym() {
 | 
			
		||||
  const symDiff = {};
 | 
			
		||||
  for (let [_, arr] of Object.entries(arguments)) {
 | 
			
		||||
    const set = {};
 | 
			
		||||
    arr.forEach((e) => {
 | 
			
		||||
      set[e] = true;
 | 
			
		||||
    });
 | 
			
		||||
    for (let [e, _] of Object.entries(set)) {
 | 
			
		||||
      if (symDiff[e]) {
 | 
			
		||||
        delete symDiff[e];
 | 
			
		||||
      } else {
 | 
			
		||||
        symDiff[e] = true;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  return Object.keys(symDiff).map((e) => Number(e));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
console.log(sym([1, 2, 3, 3], [5, 2, 1, 4]));
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user