Dadas dos arrays, la tarea es encontrar números que están presentes en la primera array, pero no presentes en la segunda array.
Ejemplos:
Input : a[] = {1, 2, 3, 4, 5, 10}; b[] = {2, 3, 1, 0, 5}; Output : 4 10 4 and 10 are present in first array, but not in second array. Input : a[] = {4, 3, 5, 9, 11}; b[] = {4, 9, 3, 11, 10}; Output : 5
Método 1 (simple): un enfoque ingenuo es usar dos bucles y verificar el elemento que no está presente en la segunda array.
Implementación:
C++
// C++ simple program to // find elements which are // not present in second array #include<bits/stdc++.h> using namespace std; // Function for finding // elements which are there // in a[] but not in b[]. void findMissing(int a[], int b[], int n, int m) { for (int i = 0; i < n; i++) { int j; for (j = 0; j < m; j++) if (a[i] == b[j]) break; if (j == m) cout << a[i] << " "; } } // Driver code int main() { int a[] = { 1, 2, 6, 3, 4, 5 }; int b[] = { 2, 4, 3, 1, 0 }; int n = sizeof(a) / sizeof(a[0]); int m = sizeof(b) / sizeof(b[1]); findMissing(a, b, n, m); return 0; }
Java
// Java simple program to // find elements which are // not present in second array class GFG { // Function for finding elements // which are there in a[] but not // in b[]. static void findMissing(int a[], int b[], int n, int m) { for (int i = 0; i < n; i++) { int j; for (j = 0; j < m; j++) if (a[i] == b[j]) break; if (j == m) System.out.print(a[i] + " "); } } // Driver Code public static void main(String[] args) { int a[] = { 1, 2, 6, 3, 4, 5 }; int b[] = { 2, 4, 3, 1, 0 }; int n = a.length; int m = b.length; findMissing(a, b, n, m); } } // This code is contributed // by Anant Agarwal.
Python 3
# Python 3 simple program to find elements # which are not present in second array # Function for finding elements which # are there in a[] but not in b[]. def findMissing(a, b, n, m): for i in range(n): for j in range(m): if (a[i] == b[j]): break if (j == m - 1): print(a[i], end = " ") # Driver code if __name__ == "__main__": a = [ 1, 2, 6, 3, 4, 5 ] b = [ 2, 4, 3, 1, 0 ] n = len(a) m = len(b) findMissing(a, b, n, m) # This code is contributed # by ChitraNayal
C#
// C# simple program to find elements // which are not present in second array using System; class GFG { // Function for finding elements // which are there in a[] but not // in b[]. static void findMissing(int []a, int []b, int n, int m) { for (int i = 0; i < n; i++) { int j; for (j = 0; j < m; j++) if (a[i] == b[j]) break; if (j == m) Console.Write(a[i] + " "); } } // Driver code public static void Main() { int []a = {1, 2, 6, 3, 4, 5}; int []b = {2, 4, 3, 1, 0}; int n = a.Length; int m = b.Length; findMissing(a, b, n, m); } } // This code is contributed by vt_m.
PHP
<?php // PHP simple program to find // elements which are not // present in second array // Function for finding // elements which are there // in a[] but not in b[]. function findMissing( $a, $b, $n, $m) { for ( $i = 0; $i < $n; $i++) { $j; for ($j = 0; $j < $m; $j++) if ($a[$i] == $b[$j]) break; if ($j == $m) echo $a[$i] , " "; } } // Driver code $a = array( 1, 2, 6, 3, 4, 5 ); $b = array( 2, 4, 3, 1, 0 ); $n = count($a); $m = count($b); findMissing($a, $b, $n, $m); // This code is contributed by anuj_67. ?>
Javascript
<script> // Javascript simple program to // find elements which are // not present in second array // Function for finding elements // which are there in a[] but not // in b[]. function findMissing(a,b,n,m) { for (let i = 0; i < n; i++) { let j; for (j = 0; j < m; j++) if (a[i] == b[j]) break; if (j == m) document.write(a[i] + " "); } } // Driver Code let a=[ 1, 2, 6, 3, 4, 5 ]; let b=[2, 4, 3, 1, 0]; let n = a.length; let m = b.length; findMissing(a, b, n, m); // This code is contributed by avanitrachhadiya2155 </script>
6 5
Complejidad de tiempo: O(n*m) ya que se usan bucles internos y externos
Espacio auxiliar: O(1)
Método 2 (Usar Hashing): En este método, almacenamos todos los elementos de la segunda array en una tabla hash ( unordered_set ). Uno por uno, verifique todos los elementos de la primera array e imprima todos aquellos elementos que no están presentes en la tabla hash.
Implementación:
C++
// C++ efficient program to // find elements which are not // present in second array #include<bits/stdc++.h> using namespace std; // Function for finding // elements which are there // in a[] but not in b[]. void findMissing(int a[], int b[], int n, int m) { // Store all elements of // second array in a hash table unordered_set <int> s; for (int i = 0; i < m; i++) s.insert(b[i]); // Print all elements of // first array that are not // present in hash table for (int i = 0; i < n; i++) if (s.find(a[i]) == s.end()) cout << a[i] << " "; } // Driver code int main() { int a[] = { 1, 2, 6, 3, 4, 5 }; int b[] = { 2, 4, 3, 1, 0 }; int n = sizeof(a) / sizeof(a[0]); int m = sizeof(b) / sizeof(b[1]); findMissing(a, b, n, m); return 0; }
Java
// Java efficient program to find elements // which are not present in second array import java.util.HashSet; import java.util.Set; public class GfG{ // Function for finding elements which // are there in a[] but not in b[]. static void findMissing(int a[], int b[], int n, int m) { // Store all elements of // second array in a hash table HashSet<Integer> s = new HashSet<>(); for (int i = 0; i < m; i++) s.add(b[i]); // Print all elements of first array // that are not present in hash table for (int i = 0; i < n; i++) if (!s.contains(a[i])) System.out.print(a[i] + " "); } public static void main(String []args){ int a[] = { 1, 2, 6, 3, 4, 5 }; int b[] = { 2, 4, 3, 1, 0 }; int n = a.length; int m = b.length; findMissing(a, b, n, m); } } // This code is contributed by Rituraj Jain
Python3
# Python3 efficient program to find elements # which are not present in second array # Function for finding elements which # are there in a[] but not in b[]. def findMissing(a, b, n, m): # Store all elements of second # array in a hash table s = dict() for i in range(m): s[b[i]] = 1 # Print all elements of first array # that are not present in hash table for i in range(n): if a[i] not in s.keys(): print(a[i], end = " ") # Driver code a = [ 1, 2, 6, 3, 4, 5 ] b = [ 2, 4, 3, 1, 0 ] n = len(a) m = len(b) findMissing(a, b, n, m) # This code is contributed by mohit kumar
C#
// C# efficient program to find elements // which are not present in second array using System; using System.Collections.Generic; class GfG { // Function for finding elements which // are there in a[] but not in b[]. static void findMissing(int []a, int []b, int n, int m) { // Store all elements of // second array in a hash table HashSet<int> s = new HashSet<int>(); for (int i = 0; i < m; i++) s.Add(b[i]); // Print all elements of first array // that are not present in hash table for (int i = 0; i < n; i++) if (!s.Contains(a[i])) Console.Write(a[i] + " "); } // Driver code public static void Main(String []args) { int []a = { 1, 2, 6, 3, 4, 5 }; int []b = { 2, 4, 3, 1, 0 }; int n = a.Length; int m = b.Length; findMissing(a, b, n, m); } } /* This code contributed by PrinciRaj1992 */
Javascript
<script> // Javascript efficient program to find elements // which are not present in second array // Function for finding elements which // are there in a[] but not in b[]. function findMissing(a,b,n,m) { // Store all elements of // second array in a hash table let s = new Set(); for (let i = 0; i < m; i++) s.add(b[i]); // Print all elements of first array // that are not present in hash table for (let i = 0; i < n; i++) if (!s.has(a[i])) document.write(a[i] + " "); } let a=[1, 2, 6, 3, 4, 5 ]; let b=[2, 4, 3, 1, 0]; let n = a.length; let m = b.length; findMissing(a, b, n, m); // This code is contributed by patel2127 </script>
6 5
Complejidad temporal: O(n+m)
Espacio auxiliar: O(n)
Este artículo es una contribución de DANISH_RAZA . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA