Найти элементы массива A в одном экземпляре, которые есть в массиве B в нескольких экземплярах - C#
Формулировка задачи:
Добрый час суток. Есть такая задача: У нас массивы A и B вводятся с клавиатуры. Нужно найти элементы массива A в одном экземпляре,которые есть в массиве B в нескольких экземплярах. Подскажите пожалуйста как реализовать это? С линейным,бинарным поиском. Сам алгоритм интересует,немного туплю.
Решение задачи: «Найти элементы массива A в одном экземпляре, которые есть в массиве B в нескольких экземплярах»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp2 { class Program { static void Main(string[] args) { Console.Write("Длина первого массива: "); int n = int.Parse(Console.ReadLine()); Console.Write("Длина второго массива: "); int m = int.Parse(Console.ReadLine()); Console.Write("Введите первый массив: "); int[] a = Enumerable.Range(0, n).Select(v => int.Parse(Console.ReadLine())).ToArray();//заполняем первый массив Console.Write("Введите второй массив: "); int[] b = Enumerable.Range(0, m).Select(v => int.Parse(Console.ReadLine())).ToArray();//заполняем второй массив for (int i = 0; i < n; i++) //проходим первый массив { bool bb = true; for (int j = 0; j < n; j++) //проходим его второй раз if (a[j] == a[i] && i != j) bb = false;//если элемент встречается второй раз, то false if (bb) //если true { int count = 0; for (int j = 0; j < m; j++) if (b[j] == a[i]) count++; //считаем совпадения if (count > 1) Console.Write(a[i] + " "); //если больше 1, то выводим } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д