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